:root{--primary:#4f46e5;--primary-dark:#4338ca;--primary-light:#818cf8;--secondary:#0ea5e9;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#6366f1;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition:all 0.2s ease;--transition-slow:all 0.3s ease;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#1f2937;color:var(--gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}.main-container{margin:0 auto;max-width:1400px;padding:24px;width:100%}.header{background:linear-gradient(135deg,#312e81,#4c1d95 50%,#5b21b6);box-shadow:0 4px 20px #4f46e54d;padding:20px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;margin:0 auto;max-width:1400px}.header-content,.header-title{align-items:center;display:flex}.header-title{gap:12px}.header h1{color:#fff;font-size:28px;font-weight:800;letter-spacing:-.5px}.header-subtitle{border-left:1px solid #ffffff4d;color:#ffffffb3;font-size:14px;margin-left:16px;padding-left:16px}.header-status{gap:16px}.header-status,.user-menu{align-items:center;display:flex}.user-menu{border-left:1px solid #fff3;gap:12px;padding-left:16px}.user-info{gap:10px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#818cf8,#6366f1);border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.user-name{color:#ffffffe6;font-size:14px;font-weight:500}.logout-btn{align-items:center;background:#ffffff1a;border:none;border-radius:8px;border-radius:var(--radius);color:#ffffffb3;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.logout-btn:hover{background:#ef44444d;color:#fca5a5}@media (max-width:768px){.user-menu{padding-left:12px}.user-name{display:none}}.status-indicator{align-items:center;background:#ffffff1a;border-radius:8px;border-radius:var(--radius);color:#d1d5db;color:var(--gray-300);display:flex;font-size:13px;gap:8px;padding:8px 16px}.status-dot{animation:pulse 2s infinite;background:#10b981;background:var(--success);border-radius:50%;height:8px;width:8px}.card{background:#fff;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);overflow:hidden}.card-header{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);justify-content:space-between;padding:20px 24px}.card-header,.card-title{align-items:center;display:flex}.card-title{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600;gap:10px}.card-body{padding:24px}.upload-section{margin-bottom:24px}.upload-dropzone{background:#f9fafb;background:var(--gray-50);border:2px dashed #d1d5db;border:2px dashed var(--gray-300);border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;padding:48px;text-align:center;transition:all .2s ease;transition:var(--transition)}.upload-dropzone.active,.upload-dropzone:hover{background:#4f46e50d;border-color:#4f46e5;border-color:var(--primary)}.upload-icon{align-items:center;background:linear-gradient(135deg,#4f46e5,#4338ca);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:50%;color:#fff;display:flex;font-size:28px;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.upload-text{color:#374151;color:var(--gray-700);font-size:16px;margin-bottom:8px}.upload-hint{color:#6b7280;color:var(--gray-500);font-size:13px}.upload-file-info{align-items:center;background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);display:flex;justify-content:space-between;margin-top:16px;padding:16px 20px}.file-details{gap:12px}.file-details,.file-icon{align-items:center;display:flex}.file-icon{background:#818cf8;background:var(--primary-light);border-radius:8px;border-radius:var(--radius);color:#fff;height:40px;justify-content:center;width:40px}.upload-progress{margin-top:16px}.progress-bar{background:#e5e7eb;background:var(--gray-200);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4f46e5,#0ea5e9);background:linear-gradient(90deg,var(--primary) 0,var(--secondary) 100%);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#6b7280;color:var(--gray-500);font-size:12px;margin-top:6px;text-align:right}.stats-banner,.stats-section{margin-bottom:24px}.stats-banner{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed 50%,#a855f7);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 10px 40px #4f46e54d;color:#fff;display:flex;gap:24px;overflow:hidden;padding:20px 28px;position:relative}.stats-banner:before{background:radial-gradient(circle,#ffffff1a 0,#0000 60%);content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;width:100%}.banner-icon{align-items:center;background:#fff3;border-radius:16px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.banner-content{flex:1 1}.banner-number{font-size:48px;font-weight:800;line-height:1;margin-bottom:4px;text-shadow:0 2px 10px #0003}.banner-label{font-size:16px;font-weight:500;opacity:.9}.banner-stats{display:flex;gap:24px}.banner-stat{align-items:center;background:#ffffff26;border-radius:12px;display:flex;flex-direction:column;min-width:90px;padding:12px 20px}.banner-stat .stat-value{font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.banner-stat .stat-value.text-success{color:#86efac}.banner-stat .stat-value.text-warning{color:#fcd34d}.banner-stat .stat-value.text-danger{color:#fca5a5}.banner-stat .stat-label{font-size:11px;letter-spacing:.5px;opacity:.85;text-transform:uppercase}@media (max-width:768px){.stats-banner{flex-direction:column;gap:16px;text-align:center}.banner-stats{justify-content:center;width:100%}}.stats-charts{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.breakdown-card{background:#fff;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow);padding:20px}.breakdown-title{align-items:center;color:#374151;color:var(--gray-700);display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:16px}.breakdown-bars{gap:12px}.bar-item,.breakdown-bars{display:flex;flex-direction:column}.bar-item{gap:6px}.bar-header{align-items:center;display:flex;justify-content:space-between}.bar-label{color:#4b5563;color:var(--gray-600);font-size:13px}.bar-value{font-size:16px;font-weight:700}.bar-track{background:#f3f4f6;background:var(--gray-100);border-radius:4px;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;min-width:0;transition:width .5s ease}.bar-success{background:linear-gradient(90deg,#10b981,#34d399)}.bar-warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.bar-danger{background:linear-gradient(90deg,#ef4444,#f87171)}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-danger{color:#ef4444}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow);gap:16px;padding:20px 24px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:8px;border-radius:var(--radius);font-size:20px;height:48px;justify-content:center;width:48px}.stat-icon.blue{background:#3b82f61a;color:#3b82f6}.stat-icon.green{background:#10b9811a;color:#10b981;color:var(--success)}.stat-icon.yellow{background:#f59e0b1a;color:#f59e0b;color:var(--warning)}.stat-icon.red{background:#ef44441a;color:#ef4444;color:var(--danger)}.stat-icon.purple{background:#8b5cf61a;color:#8b5cf6}.stat-content h3{color:#1f2937;color:var(--gray-800);font-size:24px;font-weight:700}.stat-content p{color:#6b7280;color:var(--gray-500);font-size:13px;margin-top:2px}.executive-summary{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow);color:#374151;color:var(--gray-700);padding:24px}.summary-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.summary-header h3{color:#1f2937;color:var(--gray-800);font-size:16px;font-weight:600;margin:0}.summary-icon{font-size:20px}.summary-badge{background:#f3f4f6;background:var(--gray-100);border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.5px;margin-left:auto;padding:4px 10px;text-transform:uppercase}.summary-badge,.summary-text{color:#4b5563;color:var(--gray-600)}.summary-text{font-size:14px;line-height:1.8}.summary-brief{display:flex;flex-direction:column;gap:12px}.summary-item{align-items:flex-start;background:#f9fafb;background:var(--gray-50);border-left:3px solid #4f46e5;border-left:3px solid var(--primary);border-radius:8px;border-radius:var(--radius);display:flex;gap:12px;padding:12px 16px}.summary-item-icon{flex-shrink:0;font-size:18px}.summary-item div{color:#374151;color:var(--gray-700);font-size:14px;line-height:1.6}.summary-item strong{color:#1f2937;color:var(--gray-800)}.summary-detail-section{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);margin-top:16px;padding-top:16px}.summary-detail-toggle{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius);color:#4f46e5;color:var(--primary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px;transition:all .2s}.summary-detail-toggle:hover{background:#f3f4f6;background:var(--gray-100)}.toggle-icon{align-items:center;background:#4f46e5;background:var(--primary);border-radius:4px;color:#fff;display:flex;font-size:14px;font-weight:700;height:20px;justify-content:center;transition:transform .2s;width:20px}.toggle-icon.open{background:#6b7280;background:var(--gray-500)}.summary-detail-content{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--radius);color:#4b5563;color:var(--gray-600);font-size:13px;line-height:1.8;margin-top:12px;max-height:300px;overflow-y:auto;padding:16px;white-space:pre-wrap}.summary-processing{flex-direction:column;padding:40px 20px}.summary-processing,.wave-container{align-items:center;display:flex;justify-content:center}.wave-container{gap:6px;height:50px;margin-bottom:20px}.wave{animation:wave 1s ease-in-out infinite;background:linear-gradient(180deg,#4f46e5,#818cf8);background:linear-gradient(180deg,var(--primary) 0,var(--primary-light) 100%);border-radius:4px;height:30px;width:8px}.wave:first-child{animation-delay:0s}.wave:nth-child(2){animation-delay:.15s}.wave:nth-child(3){animation-delay:.3s}@keyframes wave{0%,to{height:15px;opacity:.5}50%{height:40px;opacity:1}}.processing-text{color:#374151;color:var(--gray-700);font-size:16px;font-weight:600;margin-bottom:6px}.processing-subtext{color:#6b7280;color:var(--gray-500);font-size:13px}.content-grid{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:400px 1fr}.content-grid>.card{display:flex;flex-direction:column}.content-grid>.card>.card-header{flex-shrink:0}.content-grid>.card>.card-body{display:flex;flex:1 1;flex-direction:column;min-height:0}.content-grid>.card>.empty-state{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center}@media (max-width:1024px){.content-grid{grid-template-columns:1fr}}.calls-list{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding-right:8px}.call-item{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 8px #00000014;cursor:pointer;padding:14px;position:relative;transition:all .2s ease;transition:var(--transition)}.call-item.deleting{animation:fadeOutCall 1.5s ease-out forwards;opacity:.7;pointer-events:none}@keyframes fadeOutCall{0%{opacity:1;transform:scale(1)}80%{opacity:.5;transform:scale(.98)}to{height:0;margin:0;opacity:0;padding:0;transform:scale(.95)}}.delete-progress{background:#ef444433;height:4px;left:0;overflow:hidden;position:absolute;right:0;top:0}.delete-progress-bar{animation:deleteProgress 1.5s ease-out forwards;background:linear-gradient(90deg,#ef4444,#dc2626);height:100%}@keyframes deleteProgress{0%{width:100%}to{width:0}}.call-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.call-item.selected{background:#4f46e505;border-color:#4f46e5;border-color:var(--primary)}.call-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.call-name{color:#1f2937;color:var(--gray-800);flex:1 1;font-size:14px;font-weight:600;margin-right:12px;word-break:break-word}.call-status{border-radius:20px;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.status-queued{background:#f3f4f6;background:var(--gray-100);color:#4b5563;color:var(--gray-600)}.status-processing{background:#3b82f61a;color:#3b82f6}.status-done{background:#10b9811a;color:#10b981;color:var(--success)}.status-error{background:#ef44441a;color:#ef4444;color:var(--danger)}.call-meta{color:#6b7280;color:var(--gray-500);display:flex;font-size:12px;gap:12px}.call-progress{margin-top:10px}.call-progress .progress-bar{height:4px}.call-step{color:#6b7280;color:var(--gray-500);font-size:11px;margin-top:6px}.call-actions{display:flex;gap:8px;margin-top:12px}.call-error-info{border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);margin-top:10px;padding-top:10px}.call-error-message{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius);color:#b91c1c;display:flex;font-size:12px;gap:8px;line-height:1.5;margin-bottom:10px;padding:10px 12px}.call-error-message .error-icon{flex-shrink:0}.call-error-info .call-actions{margin-top:8px}.call-detail{background:#fff;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);overflow:hidden}.detail-header{background:#f9fafb;background:var(--gray-50);border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);padding:20px 24px}.detail-title{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600;margin-bottom:8px}.detail-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{align-items:center;color:#4b5563;color:var(--gray-600);display:flex;font-size:13px;gap:6px}.detail-body{padding:24px}.detail-section{background:#fff;border:1px solid #f3f4f6;border:1px solid var(--gray-100);border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000f;margin-bottom:16px;padding:16px}.detail-section:last-child{margin-bottom:0}.section-title{align-items:center;color:#4b5563;color:var(--gray-600);display:flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.audio-player{border-radius:8px;border-radius:var(--radius);height:48px;width:100%}.summary-main{color:#374151;color:var(--gray-700);font-size:15px;line-height:1.7;margin-bottom:16px}.summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.summary-item{background:#fff;border-radius:6px;border-radius:var(--radius-sm);padding:12px}.summary-label{color:#6b7280;color:var(--gray-500);font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.summary-value{color:#1f2937;color:var(--gray-800);font-size:14px;font-weight:600}.summary-value.positive{color:#10b981;color:var(--success)}.summary-value.negative{color:#ef4444;color:var(--danger)}.summary-value.neutral{color:#f59e0b;color:var(--warning)}.transcription-box{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--radius);color:#374151;color:var(--gray-700);font-size:14px;line-height:1.8;max-height:300px;overflow-y:auto;padding:20px}.collapsible-section{overflow:hidden;padding:0!important}.collapsible-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background .2s;width:100%}.collapsible-header:hover{background:#f9fafb;background:var(--gray-50)}.collapsible-header .section-title{margin-bottom:0}.collapsible-icon{align-items:center;background:#f3f4f6;background:var(--gray-100);border-radius:50%;color:#4b5563;color:var(--gray-600);display:flex;font-size:18px;font-weight:600;height:28px;justify-content:center;transition:all .2s;width:28px}.collapsible-icon.open{background:#4f46e5;background:var(--primary);color:#fff;transform:rotate(180deg)}.conversation-box{background:#f9fafb;background:var(--gray-50);border-radius:0 0 8px 8px;border-radius:0 0 var(--radius) var(--radius);border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);max-height:400px;overflow-y:auto;padding:16px}.conversation-turn{border-radius:8px;border-radius:var(--radius);font-size:14px;line-height:1.6;margin-bottom:8px;padding:12px 16px}.turn-agent{background:#4f46e514;border-left:3px solid #4f46e5;border-left:3px solid var(--primary)}.turn-client{background:#10b98114;border-left:3px solid #10b981;border-left:3px solid var(--success)}.turn-label{font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.turn-agent .turn-label{color:#4f46e5;color:var(--primary)}.turn-client .turn-label{color:#10b981;color:var(--success)}.action-items-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.action-item{align-items:flex-start;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:0 8px 8px 0;border-radius:0 var(--radius) var(--radius) 0;color:#374151;color:var(--gray-700);display:flex;font-size:14px;gap:10px;padding:12px 16px}.action-icon{color:#f59e0b;font-size:16px;font-weight:700}.sentiment-display{align-items:center;display:flex;gap:20px}.sentiment-score{font-size:36px;font-weight:700}.sentiment-positive{color:#10b981;color:var(--success)}.sentiment-negative{color:#ef4444;color:var(--danger)}.sentiment-neutral{color:#f59e0b;color:var(--warning)}.sentiment-details h4{font-size:16px;margin-bottom:4px}.sentiment-details p{color:#6b7280;color:var(--gray-500);font-size:13px}.tags-container{display:flex;flex-wrap:wrap;gap:8px}.tag{border-radius:20px;font-size:13px;font-weight:500;padding:6px 12px}.tag-keyword{background:#4f46e51a;color:#4f46e5;color:var(--primary)}.tag-topic{background:#10b9811a;border:1px solid #10b9814d;color:#059669}.topics-container{display:flex;flex-wrap:wrap;gap:10px}.topic-chip{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:25px;color:#166534;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.topic-chip:hover{box-shadow:0 4px 12px #22c55e33;transform:translateY(-1px)}.topic-icon{font-size:14px}.topic-text{text-transform:capitalize}.tag-entity{background:#f59e0b1a;color:#b45309}.tag-type{font-size:10px;margin-left:4px;opacity:.7}.list-items{display:flex;flex-direction:column;gap:8px}.list-item{align-items:center;background:#f9fafb;background:var(--gray-50);border-radius:6px;border-radius:var(--radius-sm);display:flex;font-size:14px;gap:10px;padding:10px 14px}.list-bullet{background:#4f46e5;background:var(--primary);border-radius:50%;height:6px;width:6px}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s ease;transition:var(--transition)}.btn-sm{font-size:12px;padding:6px 12px}.btn-primary{background:#4f46e5;background:var(--primary);color:#fff}.btn-primary:hover{background:#4338ca;background:var(--primary-dark)}.btn-secondary{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.btn-secondary:hover{background:#e5e7eb;background:var(--gray-200)}.btn-danger{background:#ef44441a;color:#ef4444;color:var(--danger)}.btn-danger:hover{background:#ef444433}.btn-success{background:#10b981;background:var(--success);color:#fff}.btn:disabled{cursor:not-allowed;opacity:.6}.empty-state{color:#6b7280;color:var(--gray-500);padding:60px 40px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-waves{align-items:center;display:flex;gap:6px;height:50px;justify-content:center;margin-bottom:16px}.empty-waves .wave{animation:waveEmpty 1.2s ease-in-out infinite;background:linear-gradient(180deg,#d1d5db,#9ca3af);background:linear-gradient(180deg,var(--gray-300) 0,var(--gray-400) 100%);border-radius:3px;height:24px;width:6px}.empty-waves .wave:first-child{animation-delay:0s}.empty-waves .wave:nth-child(2){animation-delay:.2s}.empty-waves .wave:nth-child(3){animation-delay:.4s}@keyframes waveEmpty{0%,to{height:12px;opacity:.4}50%{height:32px;opacity:.7}}.empty-state h3{color:#374151;color:var(--gray-700);font-size:18px;margin-bottom:8px}.empty-state-centered{align-items:center;color:#6b7280;color:var(--gray-500);display:flex;flex-direction:column;height:100%;justify-content:center;min-height:300px;padding:40px;text-align:center}.neural-icon{animation:pulseNeural 3s ease-in-out infinite;margin-bottom:16px}@keyframes pulseNeural{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.neural-icon svg circle{animation:nodeGlow 2s ease-in-out infinite}.neural-icon svg circle:first-child{animation-delay:0s}.neural-icon svg circle:nth-child(2){animation-delay:.3s}.neural-icon svg circle:nth-child(3){animation-delay:.6s}.neural-icon svg circle:nth-child(4){animation-delay:.9s}.neural-icon svg circle:nth-child(5){animation-delay:1.2s}.empty-waves-center{align-items:center;display:flex;gap:8px;height:40px;justify-content:center;margin-bottom:20px}.empty-waves-center .wave{animation:waveCentered 1s ease-in-out infinite;background:linear-gradient(180deg,#4f46e5,#818cf8);background:linear-gradient(180deg,var(--primary) 0,var(--primary-light) 100%);border-radius:2px;height:20px;width:4px}.empty-waves-center .wave:first-child{animation-delay:0s}.empty-waves-center .wave:nth-child(2){animation-delay:.15s}.empty-waves-center .wave:nth-child(3){animation-delay:.3s}@keyframes waveCentered{0%,to{height:10px;opacity:.5}50%{height:30px;opacity:1}}.empty-state-centered h3{color:#374151;color:var(--gray-700);font-size:18px;margin-bottom:8px}.empty-state-centered p{color:#9ca3af;color:var(--gray-400);font-size:14px}.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#4f46e5;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.loading p{color:#6b7280;color:var(--gray-500);margin-top:16px}.refresh-indicator{align-items:center;background:#1f2937;background:var(--gray-800);border-radius:24px;bottom:24px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);color:#fff;display:flex;font-size:13px;font-weight:500;gap:10px;padding:10px 20px;position:fixed;right:24px;z-index:1000}.refresh-dot{animation:pulse 1.5s infinite;background:#10b981;background:var(--success);border-radius:50%;height:8px;width:8px}.refresh-indicator.idle .refresh-dot{animation:none;background:#6b7280;background:var(--gray-500)}.error-message{background:#ef44441a;border:1px solid #ef444433;border-radius:8px;border-radius:var(--radius);color:#ef4444;color:var(--danger);font-size:14px;margin-bottom:16px;padding:12px 16px}@media (max-width:768px){.main-container{padding:16px}.header{padding:16px 20px}.header h1{font-size:22px}.header-subtitle{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.stats-charts{grid-template-columns:1fr}.calls-list{flex:none}}.call-badges{border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px}.badge-intent-row{align-items:flex-start;width:100%}.badges-row{display:flex;gap:8px;justify-content:space-between}.badge-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:1px}.badge-label{color:#9ca3af;color:var(--gray-400);font-size:7px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.badge{align-items:center;border:1px solid #0000;border-radius:12px;display:inline-flex;font-size:10px;font-weight:600;gap:3px;max-width:100%;padding:3px 8px}.badge-intent{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5}.badge-icon{font-size:13px}.badge-success{background:#dcfce7;border-color:#86efac;color:#15803d}.badge-warning{background:#fef3c7;border-color:#fcd34d;color:#b45309}.badge-danger{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.badge-neutral{background:#f3f4f6;border-color:#d1d5db;color:#4b5563}.call-header-actions{gap:8px}.btn-icon,.call-header-actions{align-items:center;display:flex}.btn-icon{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#6b7280;color:var(--gray-500);cursor:pointer;font-size:16px;justify-content:center;opacity:.5;padding:6px;transition:all .2s}.btn-icon:hover{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700);opacity:1}.btn-delete:hover{background:#fee2e2;color:#dc2626}.fab{align-items:center;background:linear-gradient(135deg,#4f46e5,#4338ca);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:50%;bottom:32px;box-shadow:0 4px 20px #4f46e566;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:32px;transition:all .3s ease;width:60px;z-index:50}.fab:hover{box-shadow:0 6px 30px #4f46e580;transform:scale(1.1)}.fab:active{transform:scale(.95)}.fab svg{transition:transform .3s ease}.fab:hover svg{transform:translateY(-2px)}.processing-indicator{align-items:center;background:#fff;border-radius:12px;border-radius:var(--radius-lg);bottom:32px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);color:#374151;color:var(--gray-700);display:flex;font-size:14px;gap:10px;left:32px;padding:12px 20px;position:fixed;z-index:50}.processing-dot{animation:pulse 1.5s infinite;background:#4f46e5;background:var(--primary);border-radius:50%;height:10px;width:10px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{animation:slideUp .3s ease;background:#fff;border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-small{max-width:400px}.modal-medium{max-width:520px}.modal-large{max-width:700px}.modal-header{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:20px 24px}.modal-title{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600}.modal-close{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--gray-400);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.modal-close:hover{background:#f3f4f6;background:var(--gray-100);color:#4b5563;color:var(--gray-600)}.modal-body{max-height:calc(90vh - 80px);overflow-y:auto;padding:24px}.confirm-content{padding:8px 0;text-align:center}.confirm-icon{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.confirm-icon-danger{background:#fee2e2;color:#dc2626}.confirm-icon-warning{background:#fef3c7;color:#f59e0b}.confirm-icon-info{background:#dbeafe;color:#3b82f6}.confirm-title{color:#1f2937;color:var(--gray-800);font-size:18px;font-weight:600;margin-bottom:8px}.confirm-message{color:#4b5563;color:var(--gray-600);font-size:14px;line-height:1.6;margin-bottom:24px}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-actions .btn{min-width:100px}.upload-modal-content{display:flex;flex-direction:column;gap:20px}.upload-dropzone-modal{background:#f9fafb;background:var(--gray-50);border:2px dashed #d1d5db;border:2px dashed var(--gray-300);border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;padding:40px 24px;text-align:center;transition:all .2s ease}.upload-dropzone-modal.active,.upload-dropzone-modal:hover{background:#4f46e50d;border-color:#4f46e5;border-color:var(--primary)}.upload-icon-modal{align-items:center;background:linear-gradient(135deg,#4f46e5,#4338ca);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:50%;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 16px;width:80px}.upload-text-modal{color:#374151;color:var(--gray-700);font-size:16px;font-weight:500;margin-bottom:4px}.upload-hint-modal{color:#6b7280;color:var(--gray-500);font-size:14px;margin-bottom:16px}.upload-formats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:8px}.upload-formats span{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:4px;color:#4b5563;color:var(--gray-600);font-size:11px;font-weight:500;padding:4px 10px}.upload-limit{color:#9ca3af;color:var(--gray-400);font-size:12px}.upload-file-preview{align-items:center;background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);display:flex;gap:16px;padding:16px 20px}.file-preview-icon{align-items:center;background:linear-gradient(135deg,#818cf8,#4f46e5);background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);border-radius:8px;border-radius:var(--radius);color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.file-preview-info{flex:1 1;min-width:0}.file-preview-info h4{color:#1f2937;color:var(--gray-800);font-size:14px;font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-info p{color:#6b7280;color:var(--gray-500);font-size:13px}.file-preview-remove{background:none;border:none;border-radius:8px;border-radius:var(--radius);color:#9ca3af;color:var(--gray-400);cursor:pointer;padding:8px;transition:all .2s}.file-preview-remove:hover{background:#fee2e2;color:#dc2626}.upload-progress-modal{padding:0 4px}.progress-bar-modal{background:#f3f4f6;background:var(--gray-100);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill-modal{background:linear-gradient(90deg,#4f46e5,#818cf8);background:linear-gradient(90deg,var(--primary) 0,var(--primary-light) 100%);border-radius:4px;height:100%;transition:width .3s ease}.progress-text-modal{color:#4b5563;color:var(--gray-600);font-size:13px;text-align:center}.upload-actions{border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.upload-actions .btn{align-items:center;display:flex;gap:8px}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.upload-dropzone-modal.compact{border-style:dashed;padding:20px}.upload-add-more{align-items:center;color:#6b7280;color:var(--gray-500);display:flex;font-size:14px;gap:8px;justify-content:center}.upload-add-more svg,.upload-dropzone-modal.compact:hover .upload-add-more{color:#4f46e5;color:var(--primary)}.upload-files-list{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);overflow:hidden}.files-list-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);color:#4b5563;color:var(--gray-600);display:flex;font-size:13px;gap:12px;padding:12px 16px}.files-total-size{color:#9ca3af;color:var(--gray-400)}.files-list-header .btn-text{background:none;border:none;border-radius:4px;color:#4f46e5;color:var(--primary);cursor:pointer;font-size:12px;margin-left:auto;padding:4px 8px}.files-list-header .btn-text:hover{background:#4f46e51a}.files-list-items{max-height:200px;overflow-y:auto}.file-list-item{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;gap:12px;padding:10px 16px;transition:background .2s}.file-list-item:last-child{border-bottom:none}.file-list-item:hover{background:#fff}.file-list-item.uploading{background:#4f46e50d}.file-list-item.uploaded{background:#22c55e0d}.file-item-icon{align-items:center;background:linear-gradient(135deg,#818cf8,#4f46e5);background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 100%);border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.file-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.file-item-name{color:#374151;color:var(--gray-700);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item-size{font-size:11px}.file-item-remove,.file-item-size{color:#9ca3af;color:var(--gray-400)}.file-item-remove{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.file-item-remove:hover{background:#fee2e2;color:#dc2626}.file-item-progress{align-items:center;display:flex;gap:8px;min-width:100px}.file-progress-bar{background:#e5e7eb;background:var(--gray-200);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.file-progress-fill{background:#4f46e5;background:var(--primary);border-radius:2px;height:100%;transition:width .2s ease}.file-progress-text{color:#4f46e5;color:var(--primary);font-size:11px;font-weight:500;min-width:32px;text-align:right}.file-item-done{align-items:center;background:#22c55e;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.upload-summary{padding:8px;text-align:center}.upload-summary p{color:#4b5563;color:var(--gray-600);font-size:13px;font-weight:500}.btn-danger{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;display:flex;gap:6px}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309)}@media (max-width:768px){.fab{bottom:20px;height:56px;right:20px;width:56px}.processing-indicator{bottom:20px;font-size:13px;left:20px;padding:10px 16px;right:auto}.modal-container{margin:16px;max-height:85vh}.modal-body{max-height:calc(85vh - 80px)}.confirm-actions{flex-direction:column}.confirm-actions .btn{width:100%}.upload-dropzone-modal{padding:32px 16px}.upload-icon-modal{height:64px;width:64px}}.login-container{align-items:center;background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4c1d95);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-background{inset:0;overflow:hidden;pointer-events:none;position:absolute}.bg-circle{background:radial-gradient(circle,#ffffff1a 0,#0000 70%);border-radius:50%;position:absolute}.bg-circle-1{animation:float 20s ease-in-out infinite;height:600px;right:-100px;top:-200px;width:600px}.bg-circle-2{animation:float 15s ease-in-out infinite reverse;bottom:-100px;height:400px;left:-100px;width:400px}.bg-circle-3{animation:pulse 10s ease-in-out infinite;height:300px;left:50%;top:50%;transform:translate(-50%,-50%);width:300px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-30px) rotate(5deg)}}.login-card{animation:slideUp .5s ease;background:#fff;border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 25px 80px #0006;max-width:420px;overflow:hidden;position:relative;width:100%;z-index:10}.login-header{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:40px 32px;text-align:center}.login-logo{display:flex;justify-content:center;margin-bottom:16px}.ai-logo{filter:drop-shadow(0 4px 20px rgba(0,0,0,.3))}.ai-logo .node{animation:nodeGlow 2s ease-in-out infinite}.ai-logo .node-1{animation-delay:0s}.ai-logo .node-2{animation-delay:.3s}.ai-logo .node-3{animation-delay:.6s}.ai-logo .node-4{animation-delay:.9s}.ai-logo .node-5{animation-delay:1.2s}.ai-logo .node-center{animation:centerPulse 1.5s ease-in-out infinite}@keyframes nodeGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes centerPulse{0%,to{r:7;opacity:1}50%{r:9;opacity:.8}}.ai-logo .connection{stroke-dasharray:20;animation:dataFlow 1.5s linear infinite}@keyframes dataFlow{0%{stroke-dashoffset:40}to{stroke-dashoffset:0}}.ai-logo .pulse{animation:pulseMove 1.5s ease-in-out infinite}.ai-logo .pulse-1{animation:pulseMove1 1.5s ease-in-out infinite}.ai-logo .pulse-2{animation:pulseMove2 1.5s ease-in-out .3s infinite}.ai-logo .pulse-3{animation:pulseMove3 1.5s ease-in-out .6s infinite}.ai-logo .pulse-4{animation:pulseMove4 1.5s ease-in-out .9s infinite}.ai-logo .pulse-5{animation:pulseMove5 1.5s ease-in-out 1.2s infinite}@keyframes pulseMove1{0%,to{cy:12;opacity:0}50%{cy:25;opacity:1}}@keyframes pulseMove2{0%,to{cx:12;opacity:0}50%{cx:25;opacity:1}}@keyframes pulseMove3{0%,to{cx:52;opacity:0}50%{cx:39;opacity:1}}@keyframes pulseMove4{0%,to{cx:20;cy:52;opacity:0}50%{cx:27;cy:39;opacity:1}}@keyframes pulseMove5{0%,to{cx:44;cy:52;opacity:0}50%{cx:37;cy:39;opacity:1}}.login-header h1{font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.login-header p{font-size:14px;opacity:.85}.login-form{padding:32px}.login-error{align-items:center;animation:shake .4s ease;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius);color:#dc2626;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.login-field{margin-bottom:20px}.login-field label{color:#374151;color:var(--gray-700);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper svg{color:#9ca3af;color:var(--gray-400);left:14px;pointer-events:none;position:absolute;transition:color .2s}.input-wrapper input{background:#f9fafb;background:var(--gray-50);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);color:#1f2937;color:var(--gray-800);font-size:15px;padding:14px 14px 14px 48px;transition:all .2s;width:100%}.input-wrapper input:focus{background:#fff;border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 4px #4f46e51a;outline:none}.input-wrapper input:focus+svg,.input-wrapper:focus-within svg{color:#4f46e5;color:var(--primary)}.input-wrapper input::placeholder{color:#9ca3af;color:var(--gray-400)}.login-button{align-items:center;background:linear-gradient(135deg,#4f46e5,#4338ca);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:8px;border-radius:var(--radius);box-shadow:0 4px 15px #4f46e54d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:14px 24px;transition:all .2s;width:100%}.login-button:hover{box-shadow:0 6px 25px #4f46e566;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-footer{background:#f9fafb;background:var(--gray-50);border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);padding:20px 32px;text-align:center}.login-footer p{color:#6b7280;color:var(--gray-500);font-size:12px}@media (max-width:480px){.login-card{margin:10px}.login-header{padding:32px 24px}.login-header h1{font-size:28px}.login-form{padding:24px}}
/*# sourceMappingURL=main.bf32f22e.css.map*/