*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.spinner,.spinning{animation:spin 1s linear infinite}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}button{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;transition:all .2s ease}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:inherit;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f}.loading{align-items:center;color:#6b7280;display:flex;gap:8px;justify-content:center;padding:20px}.empty-state{padding:40px 20px}@media (max-width:768px){body{font-size:14px}}.fade-in{animation:fadeIn .3s ease-in}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.theme-switcher-container{align-items:center;display:flex;justify-content:center;padding:8px 0}.theme-switcher{background:#0000;border:none;border-radius:20px;cursor:pointer;height:40px;overflow:hidden;padding:0;position:relative;transition:all .3s ease;width:80px}.theme-switcher:focus{box-shadow:0 0 0 3px #3b82f64d;outline:none}.theme-switcher-track{border-radius:20px;height:100%;overflow:hidden;position:relative;width:100%}.day-background,.theme-switcher-background{height:100%;left:0;position:absolute;top:0;transition:all .3s ease;width:100%}.day-background{background:linear-gradient(135deg,#87ceeb,#98d8e8)}.theme-switcher.light .day-background{opacity:1;transform:translateX(0)}.theme-switcher.dark .day-background{opacity:0;transform:translateX(-100%)}.night-background{background:linear-gradient(135deg,#1a1a2e,#16213e);height:100%;left:0;position:absolute;top:0;transition:all .3s ease;width:100%}.theme-switcher.light .night-background{opacity:0;transform:translateX(100%)}.theme-switcher.dark .night-background{opacity:1;transform:translateX(0)}.cloud{animation:float 3s ease-in-out infinite;background:#fff;border-radius:50px;opacity:.8;position:absolute}.cloud:after,.cloud:before{background:#fff;border-radius:50px;content:"";position:absolute}.cloud-1{animation-delay:0s;height:8px;left:15px;top:8px;width:12px}.cloud-1:before{height:6px;left:2px;top:-3px;width:8px}.cloud-1:after{height:5px;right:2px;top:-2px;width:6px}.cloud-2{animation-delay:1s;height:6px;right:20px;top:12px;width:10px}.cloud-2:before{height:4px;left:1px;top:-2px;width:6px}.cloud-2:after{height:4px;right:1px;top:-1px;width:5px}.cloud-3{animation-delay:2s;height:5px;left:45px;top:6px;width:8px}.cloud-3:before{height:3px;left:1px;top:-1px;width:5px}.cloud-3:after{height:3px;right:1px;top:-1px;width:4px}.star{animation:twinkle 2s ease-in-out infinite;background:#fff;border-radius:50%;position:absolute}.star-1{animation-delay:0s;height:2px;left:12px;top:8px;width:2px}.star-2{animation-delay:.3s;height:1.5px;left:25px;top:12px;width:1.5px}.star-3{animation-delay:.6s;height:2px;right:15px;top:6px;width:2px}.star-4{animation-delay:.9s;height:1px;left:35px;top:15px;width:1px}.star-5{animation-delay:1.2s;height:1.5px;right:25px;top:10px;width:1.5px}.star-6{animation-delay:1.5s;height:1px;left:50px;top:18px;width:1px}.theme-switcher-handle{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #00000026;display:flex;height:32px;justify-content:center;left:4px;position:absolute;top:4px;transition:all .3s cubic-bezier(.4,0,.2,1);width:32px;z-index:2}.theme-switcher.dark .theme-switcher-handle{background:#f8fafc;box-shadow:0 2px 8px #0000004d;transform:translateX(40px)}.theme-icon{align-items:center;display:flex;justify-content:center;transition:all .3s ease}.theme-switcher.light .theme-icon{color:#f59e0b;transform:rotate(0deg)}.theme-switcher.dark .theme-icon{color:#6366f1;transform:rotate(180deg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.theme-switcher:hover .theme-switcher-handle{transform:scale(1.05)}.theme-switcher.dark:hover .theme-switcher-handle{transform:translateX(40px) scale(1.05)}.theme-switcher:active .theme-switcher-handle{transform:scale(.95)}.theme-switcher.dark:active .theme-switcher-handle{transform:translateX(40px) scale(.95)}@media (max-width:768px){.theme-switcher{height:35px;width:70px}.theme-switcher-handle{height:27px;left:4px;top:4px;width:27px}.theme-switcher.dark .theme-switcher-handle{transform:translateX(35px)}.cloud-1{height:6px;left:12px;top:6px;width:10px}.cloud-2{height:5px;right:15px;top:10px;width:8px}.cloud-3{height:4px;left:35px;top:4px;width:6px}.star{transform:scale(.8)}}@media (max-width:480px){.theme-switcher{height:30px;width:60px}.theme-switcher-handle{height:22px;left:4px;top:4px;width:22px}.theme-switcher.dark .theme-switcher-handle{transform:translateX(30px)}.cloud{transform:scale(.7)}.star{transform:scale(.6)}}.logo-container{align-items:center;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.logo-svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));flex-shrink:0}.logo-small .logo-svg{height:32px;width:32px}.logo-medium .logo-svg{height:48px;width:48px}.logo-large .logo-svg{height:64px;width:64px}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-title{color:#fff;font-size:20px;font-weight:700;letter-spacing:.5px}.logo-subtitle{color:#ffffffe6;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.logo-small .logo-title{font-size:16px}.logo-small .logo-subtitle{font-size:10px}.logo-large .logo-title{font-size:28px}.logo-large .logo-subtitle{font-size:14px}[data-theme=dark] .logo-title{color:#fff}[data-theme=dark] .logo-subtitle{color:#ffffffe6}.layout{background-color:#f8fafc;display:flex;min-height:100vh}.mobile-menu-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;display:none;left:20px;padding:12px;position:fixed;top:20px;transition:all .2s ease;z-index:1001}.mobile-menu-btn:hover{background:#f8fafc;box-shadow:0 6px 8px -1px #00000026}.sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 4px -1px #0000001a;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:280px;z-index:1000}.sidebar-header{background:#1e1b4b!important;background-image:linear-gradient(135deg,#1e1b4b,#4c1d95)!important;color:#fff!important;justify-content:center;padding:24px 20px}.sidebar-header h2{color:#fff!important;font-size:24px;font-weight:700;margin-bottom:4px;text-shadow:0 2px 4px #0000004d}.sidebar-header p{color:#fff!important;font-size:14px;opacity:1!important;text-shadow:0 1px 3px #0000004d}.sidebar-nav{flex:1 1;padding:20px 0}.nav-item{align-items:center;background:none;border:none;color:#64748b;display:flex;font-size:16px;font-weight:500;gap:12px;padding:12px 20px;text-align:left;transition:all .2s ease;width:100%}.nav-item:hover{background:#f1f5f9;color:#334155}.nav-item.active{background:#dbeafe;border-right:3px solid #3b82f6;color:#1d4ed8}.nav-item.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.nav-item.disabled:hover{background:#0000;color:inherit}.nav-item svg{flex-shrink:0}.sidebar-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px;padding:20px}.user-info{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;gap:.75rem;padding:.75rem}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#3b82f6;border-radius:50%;color:#fff;flex-shrink:0;height:36px;justify-content:center;width:36px}.user-details{flex:1 1;min-width:0}.user-name{color:#1f2937;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:#6b7280;font-size:.75rem;text-transform:capitalize}.logout-button{align-items:center;background:#ef4444;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem;transition:all .2s;width:100%}.logout-button:hover:not(.disabled){background:#dc2626;transform:translateY(-1px)}.logout-button.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.logout-button.disabled:hover{background:#ef4444;transform:none}.theme-section{display:flex;justify-content:center}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:100vh}.content-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px 0 #0000001a;padding:24px 32px}.content-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0}.content-body{flex:1 1;margin:0 auto;max-width:1200px;padding:32px;position:relative;width:100%}.content-body.upload-in-progress{pointer-events:none;-webkit-user-select:none;user-select:none}.upload-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.upload-overlay-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:40px;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.upload-spinner{margin-bottom:20px}.upload-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:48px;margin:0 auto;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.upload-overlay-content p{color:#334155;font-size:16px;margin:12px 0}.upload-overlay-content .upload-warning{color:#64748b;font-size:14px;font-style:italic;margin-top:16px}.upload-progress-container{margin:20px 0;width:100%}.upload-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.upload-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.upload-progress-text{color:#334155;font-size:14px;font-weight:500;text-align:center}.upload-progress-percent{color:#667eea;font-weight:600;margin-left:4px}[data-theme=dark] .upload-overlay-content{background:#1e293b;color:#f1f5f9}[data-theme=dark] .upload-overlay-content p{color:#f1f5f9}[data-theme=dark] .upload-overlay-content .upload-warning{color:#94a3b8}[data-theme=dark] .upload-progress-bar{background:#334155}[data-theme=dark] .upload-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2)}[data-theme=dark] .upload-progress-text{color:#f1f5f9}[data-theme=dark] .upload-progress-percent{color:#a78bfa}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:768px){.mobile-menu-btn{display:block}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block}.main-content{margin-left:0}.content-header{padding:80px 20px 20px}.content-header h1{font-size:24px}.content-body{padding:20px}}@media (max-width:480px){.content-body{padding:16px}.sidebar{width:100%}.sidebar-header{padding:20px}.sidebar-header h2{font-size:20px}.nav-item{font-size:18px;padding:16px 20px}}[data-theme=dark] .app{background-color:#0f172a;color:#f1f5f9}[data-theme=dark] .content-header{background:#1e293b;border-bottom-color:#334155;box-shadow:0 1px 3px 0 #0000004d}[data-theme=dark] .content-header h1{color:#f1f5f9}[data-theme=dark] .content-body{background:#0f172a}[data-theme=dark] .layout{background:#0f172a;color:#f1f5f9}[data-theme=dark] .mobile-menu-btn{background:#334155;border-color:#475569;color:#cbd5e1}[data-theme=dark] .mobile-menu-btn:hover{background:#475569;color:#f1f5f9}[data-theme=dark] .sidebar{background:#1e293b;border-right-color:#334155}[data-theme=dark] .sidebar-header{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}[data-theme=dark] .sidebar-header h2{color:#fff!important}[data-theme=dark] .sidebar-header p{color:#ffffffe6!important}[data-theme=dark] .nav-item{color:#cbd5e1}[data-theme=dark] .nav-item:hover{background:#334155;color:#f1f5f9}[data-theme=dark] .nav-item.active{background:#3b82f6;color:#fff}[data-theme=dark] .sidebar-footer{background:#1e293b;border-top-color:#334155}[data-theme=dark] .main-content{background:#0f172a}.loading-container{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:20px}.loading-text{color:#64748b;font-size:14px;font-weight:500;text-align:center}.spinner-small{padding:12px}.spinner-small .loading-text{font-size:12px}.spinner-medium{padding:20px}.spinner-large{padding:32px}.spinner-large .loading-text{font-size:16px}.dots-loader{align-items:center;display:flex;gap:4px}.dot{animation:dotBounce 1.4s ease-in-out infinite both;background:#3b82f6;border-radius:50%;height:8px;width:8px}.dot:first-child{animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.dot:nth-child(3){animation-delay:0s}@keyframes dotBounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.pulse-loader{align-items:center;display:flex;gap:6px}.pulse-circle{animation:pulseScale 1.2s ease-in-out infinite both;background:#3b82f6;border-radius:50%;height:12px;width:12px}.pulse-circle:first-child{animation-delay:-.24s}.pulse-circle:nth-child(2){animation-delay:-.12s}.pulse-circle:nth-child(3){animation-delay:0s}@keyframes pulseScale{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.wave-loader{align-items:end;display:flex;gap:3px;height:40px}.wave-bar{animation:waveHeight 1.2s ease-in-out infinite both;background:#3b82f6;border-radius:2px;width:4px}.wave-bar:first-child{animation-delay:-1.1s;height:20px}.wave-bar:nth-child(2){animation-delay:-1s;height:30px}.wave-bar:nth-child(3){animation-delay:-.9s;height:40px}.wave-bar:nth-child(4){animation-delay:-.8s;height:30px}.wave-bar:nth-child(5){animation-delay:-.7s;height:20px}@keyframes waveHeight{0%,40%,to{opacity:.7;transform:scaleY(.4)}20%{opacity:1;transform:scaleY(1)}}.modern-spinner{height:40px;position:relative;width:40px}.spinner-ring{animation:modernSpin 1.2s cubic-bezier(.68,-.55,.265,1.55) infinite;border:3px solid #0000;border-radius:50%;border-top-color:#3b82f6;height:100%;position:absolute;width:100%}.spinner-ring:first-child{animation-delay:-.45s;border-top-color:#3b82f6}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#8b5cf6;height:80%;left:10%;top:10%;width:80%}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#06b6d4;height:60%;left:20%;top:20%;width:60%}@keyframes modernSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-theme=dark] .loading-text{color:#94a3b8}[data-theme=dark] .dot,[data-theme=dark] .pulse-circle,[data-theme=dark] .wave-bar{background:#60a5fa}[data-theme=dark] .spinner-ring:first-child{border-top-color:#60a5fa}[data-theme=dark] .spinner-ring:nth-child(2){border-top-color:#a78bfa}[data-theme=dark] .spinner-ring:nth-child(3){border-top-color:#22d3ee}[data-theme=light] .loading-text{color:#64748b}[data-theme=light] .dot,[data-theme=light] .pulse-circle,[data-theme=light] .wave-bar{background:#3b82f6}[data-theme=light] .spinner-ring:first-child{border-top-color:#3b82f6}[data-theme=light] .spinner-ring:nth-child(2){border-top-color:#8b5cf6}[data-theme=light] .spinner-ring:nth-child(3){border-top-color:#06b6d4}@media (max-width:768px){.loading-container{padding:16px}.loading-text{font-size:13px}.modern-spinner{height:32px;width:32px}.wave-loader{height:32px}.wave-bar:first-child,.wave-bar:nth-child(5){height:16px}.wave-bar:nth-child(2),.wave-bar:nth-child(4){height:24px}.wave-bar:nth-child(3){height:32px}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:2.5rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;margin:0 auto 1rem;width:64px}.login-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.login-header p{color:#6b7280;font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem;transition:transform .1s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem;text-align:center}.login-footer p{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}[data-theme=dark] .login-card{background:#1f2937}[data-theme=dark] .login-header h2{color:#f9fafb}[data-theme=dark] .login-header p{color:#9ca3af}[data-theme=dark] .login-footer{border-color:#374151}.register-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.register-card{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;padding:2.5rem;width:100%}.register-header{margin-bottom:2rem;text-align:center}.register-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;margin:0 auto 1rem;width:64px}.register-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.register-header p{color:#6b7280;font-size:.875rem}.register-form{display:flex;flex-direction:column;gap:1.5rem}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.875rem;padding:.75rem}.error-message,.form-group label{align-items:center;display:flex;gap:.5rem}.form-group input{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.75rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed}.register-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem;transition:transform .1s,box-shadow .2s}.register-button:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-1px)}.register-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.register-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem;text-align:center}.register-footer p{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.875rem;font-weight:500;padding:0;text-decoration:underline}.link-button:hover:not(:disabled){color:#764ba2}.link-button:disabled{cursor:not-allowed;opacity:.5}.register-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;margin-top:1.5rem;padding:1rem}.register-info p{color:#1e40af;font-size:.75rem;line-height:1.5;margin:0}.success-message{padding:2rem 0;text-align:center}.success-icon{color:#10b981;margin-bottom:1rem}.success-message h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:.75rem}.success-message p{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.success-detail{color:#374151!important;font-weight:500;margin-bottom:1.5rem!important}.btn-login-link{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem 2rem;transition:transform .1s,box-shadow .2s}.btn-login-link:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-1px)}[data-theme=dark] .register-card{background:#1f2937}[data-theme=dark] .register-header h2{color:#f9fafb}[data-theme=dark] .register-header p{color:#9ca3af}[data-theme=dark] .form-group input{background:#111827;border-color:#374151;color:#f9fafb}[data-theme=dark] .register-footer{border-color:#374151}[data-theme=dark] .register-info{background:#1e3a5f;border-color:#3b82f6}[data-theme=dark] .register-info p{color:#93c5fd}.admin-dashboard{margin:0 auto;max-width:1400px;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h2{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.75rem;font-weight:600;margin-bottom:.25rem}.dashboard-header p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem}.btn-refresh{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.dashboard-tabs{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);display:flex;gap:.5rem;margin-bottom:2rem}.dashboard-tabs button{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.5rem;transition:all .2s}.dashboard-tabs button:hover{color:#1f2937;color:var(--text-primary,#1f2937)}.dashboard-tabs button.active{border-bottom-color:#3b82f6;color:#3b82f6}.dashboard-content{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.75rem;padding:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:var(--bg-primary,#f9fafb);gap:1rem}.stat-icon{align-items:center;border-radius:.75rem;color:#fff;display:flex;height:56px;justify-content:center;width:56px}.stat-icon.active{background:#10b981}.stat-icon.pending{background:#f59e0b}.stat-icon.total{background:#3b82f6}.stat-value{color:#1f2937;color:var(--text-primary,#1f2937)}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.users-header h3{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.25rem;font-weight:600}.btn-add-user{align-items:center;background:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.btn-add-user:hover{background:#2563eb;transform:translateY(-1px)}.add-user-form{background:#f9fafb;background:var(--bg-tertiary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem}.add-user-form h4{color:#1f2937;color:var(--text-primary,#1f2937);margin-bottom:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group input,.form-group select{border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.5rem;font-size:.875rem;padding:.75rem}.form-actions{gap:.75rem;margin-top:1rem}.btn-cancel,.btn-save{border:none;border-radius:.5rem;cursor:pointer;font-weight:500;padding:.625rem 1.25rem}.btn-cancel{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);color:#374151;color:var(--text-primary,#374151)}.users-table-container{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table th{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);font-size:.875rem;padding:1rem}.users-table tbody tr:hover{background:#f9fafb;background:var(--bg-hover,#f9fafb)}.role-badge{border-radius:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.role-badge.admin{background:#dc2626;color:#fff}.role-badge.user{background:#3b82f6;color:#fff}.status-cell{display:flex;flex-wrap:wrap;gap:.5rem}.status-badge{border-radius:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.status-badge.approved{background:#10b981;color:#fff}.status-badge.pending{background:#f59e0b;color:#fff}.status-badge.active{background:#3b82f6;color:#fff}.status-badge.inactive{background:#6b7280;color:#fff}.action-buttons{display:flex;gap:.5rem}.btn-activate,.btn-approve,.btn-deactivate{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.btn-approve{background:#10b981;color:#fff}.btn-activate{background:#3b82f6;color:#fff}.btn-deactivate{background:#ef4444;color:#fff}.settings-tab h3{color:#1f2937;color:var(--text-primary,#1f2937);margin-bottom:1.5rem}.settings-form{max-width:600px}.data-tab h3{color:#1f2937;color:var(--text-primary,#1f2937);margin-bottom:1.5rem}.data-management-section{max-width:800px}.warning-box{background:#fef3c7;border:2px solid #fbbf24;border-radius:.75rem;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.warning-box svg{color:#f59e0b;flex-shrink:0;margin-top:.25rem}.warning-box h4{color:#92400e;font-size:1rem;font-weight:600;margin:0 0 .5rem}.warning-box p{color:#78350f;font-size:.875rem;line-height:1.5;margin:0}.btn-clear-data{align-items:center;background:#ef4444;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s}.btn-clear-data:hover{background:#dc2626;box-shadow:0 4px 6px -1px #ef44444d;transform:translateY(-1px)}.clear-confirm-box{background:#fef2f2;border:2px solid #ef4444;border-radius:.75rem;padding:1.5rem}.confirm-message{display:flex;gap:1rem;margin-bottom:1.5rem}.confirm-message svg{color:#ef4444;flex-shrink:0;margin-top:.25rem}.confirm-message h4{color:#991b1b;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.confirm-message p{color:#7f1d1d;font-size:.875rem;line-height:1.5;margin:0}.confirm-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-confirm-clear{align-items:center;background:#dc2626;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s}.btn-confirm-clear:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 6px -1px #dc26264d;transform:translateY(-1px)}.btn-confirm-clear:disabled{cursor:not-allowed;opacity:.6;transform:none}[data-theme=dark] .warning-box{background:#451a03;border-color:#f59e0b}[data-theme=dark] .warning-box h4{color:#fbbf24}[data-theme=dark] .warning-box p{color:#fcd34d}[data-theme=dark] .clear-confirm-box{background:#7f1d1d;border-color:#ef4444}[data-theme=dark] .confirm-message h4{color:#fca5a5}[data-theme=dark] .confirm-message p{color:#fecaca}.input-with-icon input{padding-right:2.5rem;width:100%}.icon-button{top:50%;transform:translateY(-50%)}[data-theme=dark] .dashboard-content{background:#1f2937;background:var(--bg-secondary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .stat-card{background:#111827;background:var(--bg-primary,#111827)}@media (max-width:768px){.admin-dashboard{padding:1rem}.dashboard-header{align-items:stretch;flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.users-table{font-size:.75rem}.users-table td,.users-table th{padding:.75rem .5rem}}.file-upload-container{margin:0 auto;max-width:800px}.upload-header{margin-bottom:32px;text-align:center}.upload-header h3{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:8px}.upload-header p{color:#64748b;font-size:16px}.category-selector{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;margin-bottom:24px;padding:16px}.category-selector label{color:#374151;display:block;font-weight:600;margin-bottom:8px}.required{font-weight:700}.category-selector select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;max-width:300px;padding:8px 12px;transition:all .2s ease;width:100%}.category-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.category-selector select option[value=add_new]{background:#f0f9ff;border-top:1px solid #e2e8f0;color:#3b82f6;font-weight:600;padding:8px 0}.category-selector select option[value=add_new]:hover{background:#dbeafe}.category-hint{color:#6b7280;font-size:12px;font-style:italic;margin-top:4px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal{animation:modalSlideIn .3s ease-out;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:480px;padding:32px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h4{color:#111827;font-size:20px;font-weight:700;margin:0 0 8px;text-align:center}.modal p{font-size:15px;margin:0 0 24px;text-align:center}.modal input{background:#fafbfc;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;font-size:16px;margin-bottom:24px;padding:14px 16px;transition:all .2s ease;width:100%}.modal input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.modal input::placeholder{color:#9ca3af;font-size:15px}.modal-actions{gap:16px;justify-content:center;margin-top:8px}.cancel-btn,.confirm-btn{border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;min-width:120px;padding:12px 24px;text-align:center}.cancel-btn{background:#f8fafc;border:2px solid #e2e8f0;color:#64748b}.cancel-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569;transform:translateY(-1px)}.confirm-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:2px solid #3b82f6;box-shadow:0 4px 6px -1px #3b82f64d}.confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);border-color:#2563eb;box-shadow:0 6px 8px -1px #3b82f666;transform:translateY(-1px)}.confirm-btn:disabled{box-shadow:none;transform:none}@media (max-width:480px){.modal{margin:0 16px;padding:24px}.modal h4{font-size:18px}.modal p{font-size:14px}.modal input{font-size:15px;padding:12px 14px}.modal-actions{flex-direction:column;gap:12px}.cancel-btn,.confirm-btn{min-width:auto;width:100%}}.dropzone{background:#fafbfc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;margin-bottom:24px;padding:48px 24px;text-align:center;transition:all .3s ease}.dropzone:hover{background:#f0f9ff;border-color:#3b82f6}.dropzone.active{background:#dbeafe;border-color:#3b82f6;transform:scale(1.02)}.dropzone.disabled{cursor:not-allowed;opacity:.6}.upload-icon{color:#6b7280;height:48px;margin-bottom:16px;width:48px}.dropzone p{color:#374151;font-size:16px;margin-bottom:8px}.file-types{color:#6b7280;font-size:14px}.selected-files{margin-bottom:24px}.files-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.selected-files h4{color:#374151;font-size:18px;font-weight:600;margin:0}.file-controls{align-items:center;display:flex;gap:12px}.view-mode-buttons{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;display:flex;gap:4px;padding:4px}.view-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.view-btn:hover{background:#e5e7eb;color:#374151}.view-btn.active{background:#3b82f6;color:#fff}.view-btn.active:hover{background:#2563eb}.toggle-files-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.toggle-files-btn:hover{background:#e5e7eb;border-color:#9ca3af}.files-list{gap:12px}.files-list.grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.files-list.grid .file-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;padding:16px;text-align:center}.files-list.grid .file-info{flex-direction:column;gap:8px}.files-list.grid .file-details{align-items:center;gap:4px}.files-list.grid .file-name{font-size:14px;font-weight:500}.files-list.grid .file-size{color:#6b7280;font-size:12px}.files-list.detailed .file-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;padding:16px}.files-list.detailed .file-meta{display:flex;font-size:12px;gap:12px;margin-top:8px}.files-list.detailed .file-type{background:#f3f4f6;border-radius:4px;color:#6b7280;padding:2px 6px}.files-list.detailed .file-status{color:#059669;font-weight:500;text-transform:capitalize}.file-item{align-items:center;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;justify-content:space-between;padding:16px}.file-item:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a}.file-size{color:#6b7280;font-size:12px}.file-actions{align-items:center;display:flex;gap:8px}.status-icon{height:20px;width:20px}.status-icon.success{color:#10b981}.status-icon.error{color:#ef4444}.status-icon.pending{animation:spin 1s linear infinite;color:#f59e0b}.remove-btn{border-radius:4px;color:#6b7280;padding:4px;transition:all .2s ease}.remove-btn:hover{background:#fee2e2;color:#dc2626}.upload-progress{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:16px}.progress-bar{background:#f1f5f9;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#6b7280;display:block;font-size:14px;text-align:center}.progress-info{gap:8px}.job-details,.progress-info{align-items:center;display:flex;flex-direction:column}.job-details{font-size:12px;gap:4px}.job-status{color:#64748b;font-weight:500}.job-progress{color:#3b82f6;font-weight:600}.upload-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 6px -1px #3b82f64d;color:#fff;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px 24px;transition:all .3s ease;width:100%}.upload-btn:hover:not(:disabled){box-shadow:0 8px 12px -2px #3b82f666;transform:translateY(-2px)}.upload-btn:disabled{background:#9ca3af;box-shadow:none;transform:none}.upload-btn .spinner{height:20px;width:20px}[data-theme=dark] .file-upload-container{border-color:#334155}[data-theme=dark] .category-selector select{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .category-selector select:focus{background:#475569}[data-theme=dark] .dropzone,[data-theme=dark] .file-list{border-color:#475569}[data-theme=dark] .file-item{border-color:#64748b}[data-theme=dark] .upload-actions{border-color:#475569}[data-theme=dark] .modal input{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .modal input:focus{background:#475569;border-color:#3b82f6}[data-theme=dark] .modal input::placeholder{color:#94a3b8}[data-theme=dark] .file-upload-container{background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;color:#f1f5f9;padding:24px}[data-theme=dark] .upload-header{margin-bottom:24px;text-align:center}[data-theme=dark] .upload-header h3{color:#f1f5f9;font-size:24px;font-weight:700;margin-bottom:8px}[data-theme=dark] .upload-header p{color:#94a3b8;font-size:14px}[data-theme=dark] .category-selector{background:#334155!important;border-color:#475569!important;box-shadow:0 1px 3px 0 #0000004d;margin-bottom:24px}[data-theme=dark] .category-selector label{color:#f1f5f9;display:block;font-size:14px;font-weight:600;margin-bottom:8px}[data-theme=dark] .category-selector select{background:#475569!important;border:1px solid #475569;border-radius:8px;color:#f1f5f9!important;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}[data-theme=dark] .category-selector select:focus{background:#475569!important;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}[data-theme=dark] .category-hint{color:#94a3b8;font-size:12px;font-style:italic;margin-top:4px}[data-theme=dark] .dropzone{background:#334155;border:2px dashed #475569;border-radius:12px;color:#cbd5e1;cursor:pointer;margin-bottom:24px;padding:40px 20px;text-align:center;transition:all .3s ease}[data-theme=dark] .dropzone:hover{background:#475569;border-color:#3b82f6}[data-theme=dark] .dropzone.active{background:#1e40af;border-color:#3b82f6;color:#dbeafe}[data-theme=dark] .dropzone-content svg{color:#94a3b8;margin-bottom:16px}[data-theme=dark] .dropzone-content h4{color:#f1f5f9;font-size:18px;font-weight:600;margin-bottom:8px}[data-theme=dark] .dropzone-content p{color:#94a3b8;font-size:14px;margin-bottom:16px}[data-theme=dark] .file-list{background:#334155;border:1px solid #475569;border-radius:8px;margin-bottom:24px;padding:16px}[data-theme=dark] .file-item{align-items:center;background:#475569;border:1px solid #64748b;border-radius:8px;color:#f1f5f9;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px}[data-theme=dark] .file-item:last-child{margin-bottom:0}[data-theme=dark] .file-info h4{color:#f1f5f9;font-size:14px;font-weight:600;margin-bottom:4px}[data-theme=dark] .file-info p{color:#94a3b8;font-size:12px;margin:0}[data-theme=dark] .file-actions button{background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;padding:4px;transition:all .2s ease}[data-theme=dark] .file-actions button:hover{background:#7f1d1d;color:#fecaca}[data-theme=dark] .upload-actions{align-items:center;background:#334155;border:1px solid #475569;border-radius:8px;display:flex;justify-content:space-between;padding:16px}[data-theme=dark] .upload-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}[data-theme=dark] .upload-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}[data-theme=dark] .upload-btn:disabled{background:#64748b;color:#94a3b8;cursor:not-allowed;transform:none}[data-theme=dark] .upload-btn .spinner{height:20px;width:20px}@media (max-width:768px){.file-upload-container{max-width:100%}.upload-header h3{font-size:24px}.dropzone{padding:32px 16px}.file-item{align-items:flex-start;flex-direction:column;gap:12px}.file-actions{justify-content:space-between;width:100%}.category-selector{align-items:flex-start;flex-direction:column;gap:8px}.category-selector select{max-width:100%;width:100%}}@media (max-width:480px){.upload-header h3{font-size:20px}.dropzone{padding:24px 12px}.file-item{padding:12px}.upload-btn{font-size:14px;padding:14px 20px}}[data-theme=dark] .upload-progress{background:#1e293b;border-color:#334155}[data-theme=dark] .progress-bar{background:#334155}[data-theme=dark] .progress-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}[data-theme=dark] .job-details,[data-theme=dark] .progress-text{color:#cbd5e1}[data-theme=dark] .job-status{color:#94a3b8}[data-theme=dark] .job-progress{color:#60a5fa}[data-theme=dark] .view-mode-buttons{background:#374151;border-color:#4b5563}[data-theme=dark] .view-btn{color:#9ca3af}[data-theme=dark] .view-btn:hover{background:#4b5563;color:#d1d5db}[data-theme=dark] .view-btn.active{background:#3b82f6;color:#fff}[data-theme=dark] .toggle-files-btn{background:#374151;border-color:#4b5563;color:#d1d5db}[data-theme=dark] .toggle-files-btn:hover{background:#4b5563;border-color:#6b7280}[data-theme=dark] .files-list.detailed .file-item,[data-theme=dark] .files-list.grid .file-item{background:#1e293b;border-color:#334155}[data-theme=dark] .files-list.detailed .file-type{background:#374151;color:#9ca3af}[data-theme=dark] .files-list.detailed .file-status{color:#10b981}.chat-interface{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;flex-direction:row;height:calc(100vh - 200px);margin:0 auto;max-width:100%;position:relative;width:100%}.chat-interface,.chat-main{display:flex;overflow:hidden}.chat-main{flex:1 1;flex-direction:column;min-width:0}.chat-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.chat-header h3{color:#1e293b;font-size:20px;font-weight:700;margin:0}.chat-controls{align-items:center;display:flex;gap:12px}.dataset-selector{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;min-width:180px;padding:8px 12px}.dataset-selector svg{color:#6b7280;flex-shrink:0}.dataset-select{background:#0000;border:none;color:#374151;cursor:pointer;font-size:14px;font-weight:500;outline:none;width:100%}.dataset-select:focus{outline:none}.limit-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px}.limit-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.clear-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.clear-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.messages-container{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0}.empty-state{color:#6b7280;height:100%;padding:40px}.messages-list{display:flex;flex-direction:column;gap:20px;padding:20px 24px}.message{animation:fadeIn .3s ease-in;display:flex;gap:12px;max-width:80%}.user-message{align-self:flex-end;flex-direction:row-reverse}.ai-message,.error-message{align-self:flex-start}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.user-message .message-avatar{background:#3b82f6;color:#fff}.ai-message .message-avatar{background:#10b981;color:#fff}.error-message .message-avatar{background:#ef4444;color:#fff}.message-content{flex:1 1;min-width:0}.message-text{word-wrap:break-word;background:#f1f5f9;border-radius:12px;color:#1f2937;font-size:14px;line-height:1.6;padding:12px 16px;white-space:pre-wrap}.message-text p{margin:0 0 8px}.message-text p:last-child{margin-bottom:0}.message-text strong{color:#1f2937;font-weight:600}.message-text em{font-style:italic}.message-text code{background:#0000000d;border-radius:4px;color:#dc2626;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.message-text ol,.message-text ul{margin:8px 0;padding-left:24px}.message-text li{margin:4px 0}.message-text a{color:#3b82f6;text-decoration:underline}.message-text a:hover{color:#2563eb}.user-message .message-text{background:#3b82f6;border-bottom-right-radius:4px;color:#fff}.ai-message .message-text{background:#f8fafc;border:1px solid #e2e8f0;border-bottom-left-radius:4px;color:#1f2937}.error-message .message-text{background:#fef2f2;border:1px solid #fecaca;border-bottom-left-radius:4px;color:#dc2626}.message-time{color:#9ca3af;font-size:11px;margin-top:4px;text-align:right}.user-message .message-time{text-align:left}.message-actions{display:flex;gap:8px;margin-top:8px;opacity:0;transition:opacity .2s ease}.message:hover .message-actions{opacity:1}.message-action-btn{align-items:center;background:#f3f4f6;border:1px solid #e2e8f0;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:12px;gap:4px;padding:4px 8px;transition:all .2s ease}.message-action-btn:hover{background:#e5e7eb;color:#374151}.source-action-btn{background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;margin-left:auto;padding:4px;transition:all .2s ease}.source-action-btn:hover{background:#f3f4f6;color:#374151}.source-preview{background:#f8fafc;color:#4b5563;font-size:12px;line-height:1.5;margin-top:8px;padding:8px}.source-preview,.source-preview-btn{border:1px solid #e2e8f0;border-radius:4px}.source-preview-btn{background:#f3f4f6;color:#6b7280;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s ease}.source-preview-btn:hover{background:#e5e7eb;color:#374151}.search-box{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:8px;min-width:200px;padding:6px 12px}.suggested-questions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:24px;padding:20px}.suggestions-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:12px}.suggestion-chip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:10px 14px;text-align:left;transition:all .2s ease}.suggestion-chip:hover{background:#f0f9ff;border-color:#3b82f6;box-shadow:0 2px 4px #0000001a;color:#1e40af;transform:translateY(-1px)}[data-theme=dark] .message-action-btn{background:#334155;border-color:#475569;color:#cbd5e1}[data-theme=dark] .message-action-btn:hover{background:#475569;color:#f1f5f9}[data-theme=dark] .source-action-btn{color:#94a3b8}[data-theme=dark] .source-action-btn:hover{background:#334155;color:#cbd5e1}[data-theme=dark] .source-preview{background:#1e293b;border-color:#475569;color:#cbd5e1}[data-theme=dark] .source-preview-btn{background:#334155;border-color:#475569;color:#94a3b8}[data-theme=dark] .source-preview-btn:hover{background:#475569;color:#cbd5e1}[data-theme=dark] .search-box{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .search-box input{color:#f1f5f9}[data-theme=dark] .search-box input::placeholder{color:#94a3b8}[data-theme=dark] .suggested-questions{background:#1e293b;border-color:#475569}[data-theme=dark] .suggestion-chip{background:#334155;border-color:#475569;color:#e2e8f0}[data-theme=dark] .suggestion-chip:hover{background:#475569;border-color:#3b82f6;color:#dbeafe}.sources-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;overflow:hidden}.sources-header-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s ease;width:100%}.sources-header-btn:hover{background:#f1f5f9}.sources-header-btn h4{color:#1f2937;font-size:14px;font-weight:600;margin:0;-webkit-user-select:none;user-select:none}[data-theme=dark] .sources-header-btn h4{color:#e2e8f0}.chevron-icon{color:#6b7280;flex-shrink:0;transition:transform .2s ease}.sources-list{display:flex;flex-direction:column;gap:12px;max-height:0;overflow:hidden;padding:0 16px;transition:max-height .35s ease-in-out,padding-bottom .35s ease-in-out}.sources-list.expanded{max-height:5000px;padding-bottom:16px}.sources-list.collapsed{max-height:0;padding-bottom:0}.source-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:12px;transition:all .2s ease}.source-item:hover{box-shadow:0 2px 4px -1px #0000001a}.source-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.source-name{color:#1f2937;font-size:14px;font-weight:500}[data-theme=dark] .source-name{color:#e2e8f0}.source-dataset{background:#f1f5f9;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 6px}.source-metrics{align-items:center;display:flex;gap:12px;justify-content:space-between}.relevance-score{align-items:center;color:#4b5563;display:flex;font-size:12px;gap:6px}[data-theme=dark] .relevance-score{color:#9ca3af}.stars{align-items:center;display:flex;gap:2px}.star{fill:none;stroke:currentColor;stroke-width:1.5;color:#d1d5db}.star.filled,.star.half{fill:currentColor;stroke:none;color:#fbbf24}.star.half{opacity:.5}.score-value{color:#1f2937;font-weight:500}[data-theme=dark] .score-value{color:#e2e8f0}.certainty-badge{border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.typing{opacity:.7}.typing-indicator{align-items:center;color:#6b7280;display:flex;font-style:italic;gap:8px}.typing-indicator .spinner{height:16px;width:16px}.chat-input-form{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;padding:20px 24px}.input-container{align-items:flex-end;display:flex;gap:12px}.chat-input{background:#fff;border:1px solid #d1d5db;border-radius:12px;flex:1 1;font-size:14px;line-height:1.5;max-height:120px;min-height:44px;padding:12px 16px;resize:none;transition:all .2s ease}.chat-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.send-btn{align-items:center;background:#3b82f6;border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s ease;width:44px}.send-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.send-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.send-btn .spinner{height:20px;width:20px}[data-theme=dark] .chat-interface{background:#1e293b;border-color:#334155;color:#f1f5f9}[data-theme=dark] .chat-header{background:#334155;border-color:#475569}[data-theme=dark] .chat-header h3{color:#f1f5f9}[data-theme=dark] .dataset-selector{background:#475569;border-color:#64748b}[data-theme=dark] .dataset-selector svg{color:#cbd5e1}[data-theme=dark] .dataset-select{color:#f1f5f9}[data-theme=dark] .limit-select{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .limit-select:focus{background:#475569;border-color:#3b82f6}[data-theme=dark] .clear-btn{background:#0000;border-color:#0000;color:#cbd5e1}[data-theme=dark] .clear-btn:hover{background:#7f1d1d;border-color:#991b1b;color:#fecaca}[data-theme=dark] .messages-container{background:#1e293b}[data-theme=dark] .message{color:#f1f5f9}[data-theme=dark] .user-message{background:#334155}[data-theme=dark] .ai-message .message-text{background:#1e293b;border-color:#475569;color:#e2e8f0}[data-theme=dark] .ai-message{background:#0000}[data-theme=dark] .user-message .message-text{background:#3b82f6;border:none;color:#fff}[data-theme=dark] .user-message{background:#0000}[data-theme=dark] .error-message .message-text{background:#7f1d1d;border-color:#991b1b;color:#fecaca}[data-theme=dark] .error-message{background:#0000}[data-theme=dark] .message-time{color:#94a3b8}[data-theme=dark] .sources-section{background:#475569;border-color:#64748b}[data-theme=dark] .sources-section h4{color:#e2e8f0}[data-theme=dark] .sources-header-btn:hover{background:#334155}[data-theme=dark] .source-item{background:#334155;border-color:#475569}[data-theme=dark] .source-header{color:#f1f5f9}[data-theme=dark] .source-dataset{background:#1e40af;color:#dbeafe}[data-theme=dark] .certainty-badge{color:#fff}[data-theme=dark] .chat-input-form{background:#334155;border-color:#475569}[data-theme=dark] .chat-input{background:#475569;border-color:#64748b;color:#f1f5f9}[data-theme=dark] .chat-input:focus{background:#334155;border-color:#3b82f6}[data-theme=dark] .chat-input::placeholder{color:#94a3b8}[data-theme=dark] .send-btn{background:#3b82f6;color:#fff}[data-theme=dark] .send-btn:hover:not(:disabled){background:#2563eb}[data-theme=dark] .send-btn:disabled{background:#64748b;color:#94a3b8}[data-theme=dark] .typing-indicator{color:#94a3b8}[data-theme=dark] .star.filled,[data-theme=dark] .star.half{color:#fbbf24}[data-theme=dark] .star.empty{color:#64748b}.chat-sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;max-width:280px;min-width:280px;overflow:hidden;position:relative;transition:transform .3s ease,width .3s ease;width:280px;z-index:1}.chat-sidebar.closed{border-right:none;max-width:0;min-width:0;overflow:visible;transform:translateX(-100%);width:0}.sidebar-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px}.sidebar-header h4{color:#1e293b;font-size:16px;font-weight:600;margin:0}.sidebar-close-btn{background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:4px;transition:all .2s ease}.sidebar-close-btn:hover{background:#f1f5f9;color:#374151}.sidebar-content{background:#fff;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:12px}[data-theme=dark] .sidebar-content{background:#1e293b}.sidebar-title-section{border-bottom:2px solid #e2e8f0;margin-bottom:20px;padding-bottom:16px}.sidebar-main-title{color:#1f2937;font-size:16px;font-weight:700;margin:0 0 4px}.sidebar-subtitle{color:#6b7280;font-size:12px;line-height:1.4;margin:0}[data-theme=dark] .sidebar-title-section{border-color:#475569}[data-theme=dark] .sidebar-main-title{color:#e2e8f0}[data-theme=dark] .sidebar-subtitle{color:#9ca3af}.vendors-section{margin-top:8px}.vendors-section-title{border-bottom:1px solid #e2e8f0;color:#4b5563;font-size:13px;font-weight:600;letter-spacing:.05em;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}[data-theme=dark] .vendors-section-title{border-color:#475569;color:#9ca3af}.sidebar-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.sidebar-empty svg{margin-bottom:12px;opacity:.5}.sidebar-empty p{font-size:14px;margin:0}.vendors-list{display:flex;flex-direction:column;gap:8px}.vendor-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.vendor-header-wrapper{align-items:center;display:flex;gap:4px;min-width:0;width:100%}.vendor-header{flex:1 1;gap:8px;min-width:0;overflow:hidden;padding:12px;text-align:left;transition:background-color .2s ease}.vendor-expand-btn,.vendor-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex}.vendor-expand-btn{border-radius:4px;color:#6b7280;flex-shrink:0;justify-content:center;margin-right:8px;padding:8px;transition:all .2s ease}.vendor-expand-btn:hover{background:#f1f5f9;color:#374151}.vendor-header:hover{background:#f1f5f9}.vendor-header svg{color:#3b82f6;flex-shrink:0}.vendor-name{color:#1f2937;flex:1 1;font-size:14px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .vendor-name{color:#e2e8f0}.vendor-count{background:#f1f5f9;border-radius:12px;color:#6b7280;flex-shrink:0;font-size:12px;padding:2px 8px;white-space:nowrap}.files-list{background:#f8fafc;border-top:1px solid #e2e8f0;flex-direction:column;gap:6px}.file-item,.files-list{display:flex;padding:8px}.file-item{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:6px;gap:8px;transition:all .2s ease}.file-item:hover{box-shadow:0 1px 3px #0000001a}.file-item input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:16px;margin-right:0;margin-top:2px;width:16px}.file-item>svg{color:#6b7280;flex-shrink:0;height:14px;margin-top:2px;min-width:14px;width:14px}.file-info{flex-direction:column;gap:4px;margin-left:0;overflow:hidden}.file-name{font-size:13px;line-height:1.4}[data-theme=dark] .file-name{color:#e2e8f0}.file-meta{color:#6b7280;font-size:11px}.sidebar-toggle-btn{background:#fff;border:1px solid #e2e8f0;border-left:none;border-radius:0 8px 8px 0;box-shadow:2px 0 4px #0000001a;color:#6b7280;cursor:pointer;left:0;padding:8px;position:absolute;top:20px;transition:all .2s ease;z-index:10}.sidebar-toggle-btn:hover{background:#f8fafc;color:#374151}[data-theme=dark] .chat-sidebar{background:#334155;border-color:#475569}[data-theme=dark] .sidebar-header{background:#1e293b;border-color:#475569}[data-theme=dark] .sidebar-header h4{color:#f1f5f9}[data-theme=dark] .sidebar-close-btn{color:#cbd5e1}[data-theme=dark] .sidebar-close-btn:hover{background:#475569;color:#f1f5f9}[data-theme=dark] .sidebar-empty{color:#94a3b8}[data-theme=dark] .vendor-item{background:#1e293b;border-color:#475569}[data-theme=dark] .vendor-header{color:#f1f5f9}[data-theme=dark] .vendor-header:hover{background:#475569}[data-theme=dark] .vendor-expand-btn{color:#cbd5e1}[data-theme=dark] .vendor-expand-btn:hover{background:#475569;color:#f1f5f9}[data-theme=dark] .vendor-count{background:#475569;color:#cbd5e1}[data-theme=dark] .files-list{background:#334155;border-color:#475569}[data-theme=dark] .file-item{background:#1e293b;border-color:#475569}[data-theme=dark] .file-item:hover{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .file-meta{color:#94a3b8}[data-theme=dark] .sidebar-toggle-btn{background:#1e293b;border-color:#475569;color:#cbd5e1}[data-theme=dark] .sidebar-toggle-btn:hover{background:#334155;color:#f1f5f9}.sidebar-section{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:16px}.sidebar-section:last-child{border-bottom:none}.sidebar-label{align-items:center;color:#4b5563;display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}[data-theme=dark] .sidebar-label{color:#9ca3af}.sidebar-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1f2937;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease;width:100%}[data-theme=dark] .sidebar-select{background:#1e293b;border-color:#475569;color:#e2e8f0}.sidebar-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.active-filters{display:flex;flex-direction:column;gap:8px}.filter-label{color:#4b5563;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}[data-theme=dark] .filter-label{color:#9ca3af}.filter-chip{align-items:center;background:#3b82f6;border-radius:6px;color:#fff;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 10px}.filter-chip svg{flex-shrink:0}.filter-remove{background:#0000;border:none;border-radius:2px;color:#fff;cursor:pointer;margin-left:auto;padding:2px;transition:background-color .2s ease}.filter-remove:hover{background:#fff3}.vendor-header.selected{background:#dbeafe;color:#1e40af}.vendor-header.selected .vendor-name{color:#1e40af;font-weight:600}.file-item.selected{background:#dbeafe;border-color:#3b82f6}.file-item{cursor:pointer}.filter-indicator{align-items:center;display:flex;gap:8px}.filter-badge-dropdown{display:inline-block;position:relative}.filter-badge{align-items:center;background:#dbeafe;border:1px solid #93c5fd;border-radius:6px;color:#1e40af;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.filter-badge:hover{background:#bfdbfe;border-color:#60a5fa}.filter-badge svg:last-child{transition:transform .2s ease}.filter-badge svg.rotated{transform:rotate(180deg)}.filter-dropdown-menu{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-top:4px;max-height:300px;max-width:300px;min-width:200px;overflow-y:auto;padding:8px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.filter-dropdown-item{align-items:center;border-radius:6px;color:#374151;display:flex;font-size:13px;gap:8px;margin-bottom:4px;padding:8px 10px;transition:background-color .2s ease}.filter-dropdown-item:last-child{margin-bottom:0}.filter-dropdown-item:hover{background:#f3f4f6}.filter-dropdown-item svg:first-child{color:#6b7280;flex-shrink:0}.filter-dropdown-item span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown-remove{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:2px;transition:all .2s ease}.filter-dropdown-remove:hover{background:#fee2e2;color:#dc2626}[data-theme=dark] .filter-badge{border-color:#3b82f6}[data-theme=dark] .filter-badge:hover{background:#1e40af;border-color:#60a5fa}[data-theme=dark] .filter-dropdown-menu{background:#1e293b;border-color:#475569;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}[data-theme=dark] .filter-dropdown-item{color:#e2e8f0}[data-theme=dark] .filter-dropdown-item:hover{background:#334155}[data-theme=dark] .filter-dropdown-item svg:first-child,[data-theme=dark] .filter-dropdown-remove{color:#9ca3af}[data-theme=dark] .filter-dropdown-remove:hover{background:#7f1d1d;color:#fecaca}[data-theme=dark] .sidebar-section{border-color:#475569}[data-theme=dark] .sidebar-label{color:#94a3b8}[data-theme=dark] .sidebar-select:focus{border-color:#3b82f6}[data-theme=dark] .filter-label{color:#94a3b8}[data-theme=dark] .filter-chip{background:#3b82f6}[data-theme=dark] .vendor-header.selected{background:#1e3a8a;color:#dbeafe}[data-theme=dark] .file-item.selected{background:#1e3a8a;border-color:#3b82f6}[data-theme=dark] .filter-badge{background:#1e3a8a;color:#dbeafe}.multi-select-list{gap:4px;max-height:200px}.available-vendors-list,.multi-select-list{display:flex;flex-direction:column;overflow-y:auto}.available-vendors-list{gap:6px;max-height:250px}.available-vendor-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:10px 12px;transition:all .2s ease}.available-vendor-item:hover{background:#f8fafc;border-color:#cbd5e1}.available-vendor-item.selected{background:#dbeafe;border-color:#3b82f6}.available-vendor-item input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:16px;width:16px}.available-vendor-item svg{color:#3b82f6;flex-shrink:0}.available-vendor-item .vendor-name{color:#1f2937;flex:1 1;font-size:13px;font-weight:500}[data-theme=dark] .available-vendor-item .vendor-name{color:#e2e8f0}.available-vendor-item.selected .vendor-name{color:#1e40af;font-weight:600}[data-theme=dark] .available-vendor-item{background:#1e293b;border-color:#475569}[data-theme=dark] .available-vendor-item:hover{background:#334155}[data-theme=dark] .available-vendor-item.selected{background:#1e3a8a;border-color:#3b82f6}[data-theme=dark] .available-vendor-item.selected .vendor-name{color:#dbeafe}.multi-select-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s ease}.multi-select-item:hover{background:#f8fafc;border-color:#cbd5e1}.multi-select-item.selected{background:#dbeafe;border-color:#3b82f6}.multi-select-item input[type=checkbox],.vendor-header input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:16px;width:16px}.vendor-header input[type=checkbox]{margin-right:4px}[data-theme=dark] .available-vendor-item input[type=checkbox],[data-theme=dark] .file-item input[type=checkbox],[data-theme=dark] .multi-select-item input[type=checkbox],[data-theme=dark] .vendor-header input[type=checkbox]{accent-color:#3b82f6}[data-theme=dark] .multi-select-item{background:#1e293b;border-color:#475569}[data-theme=dark] .multi-select-item:hover{background:#334155}[data-theme=dark] .multi-select-item.selected{background:#1e3a8a;border-color:#3b82f6}@media (max-width:768px){.chat-interface{flex-direction:column}.chat-sidebar{border-bottom:1px solid #e2e8f0;border-right:none;max-height:300px;max-width:100%;min-width:100%;width:100%}.chat-sidebar.closed{border-bottom:none;max-height:0;transform:translateY(-100%)}.chat-main{flex:1 1;min-height:0}.sidebar-toggle-btn{border-radius:0 0 8px 8px;border-top:none;left:50%;top:0;transform:translateX(-50%)}.chat-interface{border-radius:12px;height:calc(100vh - 160px)}.chat-header{align-items:stretch;flex-direction:column;gap:12px;padding:16px 20px}.chat-controls{justify-content:space-between}.category-select,.limit-select{font-size:12px;min-width:100px}.messages-list{padding:16px 20px}.message{max-width:90%}.message-avatar{height:32px;width:32px}.message-text{font-size:13px;padding:10px 14px}.sources-section{padding:12px}.source-metrics{align-items:flex-start;flex-direction:column;gap:8px}.chat-input-form{padding:16px 20px}.input-container{gap:8px}.chat-input{font-size:13px;min-height:40px}.send-btn{height:40px;width:40px}}@media (max-width:480px){.chat-interface{border-radius:8px;height:calc(100vh - 140px)}.chat-header h3{font-size:18px}.chat-controls{flex-wrap:wrap;gap:8px}.category-select,.limit-select{flex:1 1;min-width:80px}.message{max-width:95%}.message-avatar{height:28px;width:28px}.message-text{font-size:12px;padding:8px 12px}.sources-section h4{font-size:13px}.source-item{padding:8px}.source-name{font-size:13px}.relevance-score{font-size:11px}.certainty-badge{font-size:10px;padding:3px 6px}}.document-manager{margin:0 auto;max-width:1200px}.manager-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px}.manager-header h3{color:#1e293b;font-size:24px;font-weight:700;margin:0}.manager-controls{align-items:center;display:flex;gap:12px}.category-filter{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:150px;padding:8px 12px}.refresh-btn{background:#3b82f6;color:#fff;font-size:14px;font-weight:500;padding:8px 16px}.refresh-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.refresh-btn:disabled{background:#9ca3af;transform:none}.stats-bar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;display:flex;gap:24px;margin-bottom:32px;padding:16px 20px}.stat-item{align-items:center;color:#6b7280;display:flex;font-size:14px;font-weight:500;gap:8px}.stat-item svg{color:#3b82f6}.loading-state .spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:16px;width:32px}.empty-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{color:#9ca3af;margin-bottom:16px;opacity:.5}.empty-state h4{color:#374151;font-size:18px;font-weight:600;margin-bottom:8px}.empty-state p{color:#6b7280;font-size:14px}.documents-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:32px}.document-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden;transition:all .3s ease}.document-card:hover{border-color:#cbd5e1;box-shadow:0 8px 25px -5px #0000001a;transform:translateY(-2px)}.card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:20px}.card-header,.file-info{align-items:center;display:flex}.file-info{flex:1 1;gap:12px;min-width:0}.file-icon{flex-shrink:0;font-size:24px}.file-details{display:flex;flex:1 1;flex-direction:column;min-width:0}.file-name{color:#374151;font-size:16px;font-weight:600;margin-bottom:4px}.file-category{background:#f1f5f9;border-radius:4px;color:#6b7280;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.5px;max-width:-webkit-fit-content;max-width:fit-content;padding:2px 8px;text-transform:uppercase}[data-theme=dark] .file-category{background:#1e40af;color:#dbeafe;font-weight:600}.delete-btn{border-radius:6px;color:#6b7280;flex-shrink:0;padding:8px;transition:all .2s ease}.delete-btn:hover{background:#fee2e2;color:#dc2626}.card-content{padding:20px}.document-meta{display:flex;gap:16px;margin-bottom:16px}.meta-item{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px}.meta-item svg{color:#9ca3af}.chunks-preview{margin-top:16px}.chunks-preview h5{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.chunks-header{justify-content:space-between;margin-bottom:12px}.chunk-actions,.chunks-header{align-items:center;display:flex}.chunk-actions{gap:8px}.delete-all-chunks-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px;transition:all .2s ease}.delete-all-chunks-btn:hover{background:#fee2e2;border-color:#fca5a5}.expand-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:all .2s ease}.expand-btn:hover{background:#e5e7eb;border-color:#9ca3af}.chunk-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.delete-chunk-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;height:20px;justify-content:center;transition:all .2s ease;width:20px}.delete-chunk-btn:hover{background:#fee2e2;border-color:#fca5a5}.chunks-list{display:flex;flex-direction:column;gap:8px}.chunk-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px}.chunk-index{color:#6b7280;display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.chunk-content{color:#4b5563;font-size:13px;line-height:1.4;margin:0}.more-chunks{color:#6b7280;font-size:12px;font-style:italic;margin-top:8px;text-align:center}.category-management{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;margin-top:32px;padding:24px}.category-management h4{color:#374151;font-size:18px;font-weight:600;margin-bottom:16px}.categories-list{display:flex;flex-direction:column;gap:12px}.category-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.category-item:hover{background:#f1f5f9;border-color:#cbd5e1}.category-info{align-items:center;display:flex;gap:8px}.category-name{color:#374151;font-weight:500}.category-count{background:#e2e8f0;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 6px}.delete-category-btn{border-radius:4px;color:#6b7280;padding:6px;transition:all .2s ease}.delete-category-btn:hover{background:#fee2e2;color:#dc2626}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{animation:fadeIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;padding:24px;width:100%}.modal h4{color:#374151;font-size:18px;font-weight:600;margin-bottom:12px}.modal p{color:#6b7280;line-height:1.5;margin-bottom:24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.cancel-btn,.confirm-btn{border-radius:6px;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.cancel-btn{background:#f1f5f9;border:1px solid #e2e8f0;color:#374151}.cancel-btn:hover{background:#e2e8f0}.confirm-btn{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.confirm-btn:hover:not(:disabled){background:#2563eb}.confirm-btn.danger{background:#ef4444;border-color:#ef4444;box-shadow:0 4px 6px -1px #ef44444d}.confirm-btn.danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626;box-shadow:0 6px 8px -1px #ef444466}.confirm-btn:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed}@media (max-width:768px){.manager-header{align-items:stretch;flex-direction:column;gap:16px}.manager-controls{justify-content:space-between}.stats-bar{flex-direction:column;gap:12px}.documents-grid{gap:16px;grid-template-columns:1fr}.document-card{border-radius:8px}.card-content,.card-header{padding:16px}.category-management,.modal{padding:20px}.modal-actions{flex-direction:column}.cancel-btn,.confirm-btn{width:100%}}@media (max-width:480px){.manager-header h3{font-size:20px}.stats-bar{padding:12px 16px}.stat-item{font-size:13px}.file-name{font-size:14px}.chunk-content{font-size:12px}.category-management h4{font-size:16px}.category-item{padding:10px 12px}.modal h4{font-size:16px}}[data-theme=dark] .document-manager{background:#1e293b;color:#f1f5f9}[data-theme=dark] .manager-header h2{color:#f1f5f9}[data-theme=dark] .filter-controls{background:#334155;border-color:#475569}[data-theme=dark] .category-filter{background:#475569;border-color:#64748b;color:#f1f5f9}[data-theme=dark] .category-filter:focus{background:#334155;border-color:#3b82f6}[data-theme=dark] .refresh-btn{background:#3b82f6;border-color:#3b82f6;color:#fff}[data-theme=dark] .refresh-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb}[data-theme=dark] .stats-bar{background:#334155;border-color:#475569}[data-theme=dark] .stat-item{color:#cbd5e1}[data-theme=dark] .stat-item svg{color:#3b82f6}[data-theme=dark] .empty-state{background:#1e293b;color:#94a3b8}[data-theme=dark] .empty-state h4{color:#f1f5f9}[data-theme=dark] .empty-state p{color:#94a3b8}[data-theme=dark] .documents-grid{background:#1e293b}[data-theme=dark] .document-card{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .document-card:hover{background:#475569;border-color:#64748b}[data-theme=dark] .document-header h3{color:#f1f5f9}[data-theme=dark] .document-meta{color:#94a3b8}[data-theme=dark] .document-meta svg{color:#64748b}[data-theme=dark] .document-actions button{color:#ef4444}[data-theme=dark] .document-actions button:hover{background:#7f1d1d;color:#fecaca}[data-theme=dark] .modal{background:#1e293b;border-color:#334155}[data-theme=dark] .modal h4{color:#f1f5f9}[data-theme=dark] .modal p{color:#94a3b8}[data-theme=dark] .modal-actions{background:#334155}[data-theme=dark] .cancel-btn{background:#475569;border-color:#64748b;color:#cbd5e1}[data-theme=dark] .cancel-btn:hover{background:#64748b;color:#f1f5f9}[data-theme=dark] .confirm-btn{background:#3b82f6;color:#fff}[data-theme=dark] .confirm-btn:hover:not(:disabled){background:#2563eb}[data-theme=dark] .confirm-btn.danger{background:#ef4444;border-color:#ef4444}[data-theme=dark] .confirm-btn.danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}[data-theme=dark] .confirm-btn:disabled{background:#64748b;border-color:#64748b;color:#94a3b8}[data-theme=dark] .category-management{background:#334155;border-color:#475569;margin-top:24px}[data-theme=dark] .category-management h4{color:#f1f5f9;font-size:18px;font-weight:600;margin-bottom:16px}[data-theme=dark] .category-list{display:flex;flex-direction:column;gap:8px}[data-theme=dark] .category-item{align-items:center;background:#475569;border-color:#64748b;border-radius:8px;color:#f1f5f9;display:flex;justify-content:space-between;padding:12px 16px}[data-theme=dark] .category-item:hover{background:#64748b;border-color:#94a3b8}[data-theme=dark] .category-name{color:#f1f5f9;font-weight:500}[data-theme=dark] .category-count{background:#1e40af;border-radius:12px;color:#dbeafe;font-size:12px;font-weight:600;padding:2px 8px}[data-theme=dark] .category-actions{display:flex;gap:8px}[data-theme=dark] .category-actions button{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}[data-theme=dark] .category-actions button:hover{background:#dc2626}[data-theme=dark] .chunks-preview{margin-top:16px}[data-theme=dark] .chunks-preview h5{color:#f1f5f9;font-size:14px;font-weight:600;margin-bottom:12px}[data-theme=dark] .delete-all-chunks-btn{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}[data-theme=dark] .delete-all-chunks-btn:hover{background:#991b1b;border-color:#dc2626}[data-theme=dark] .expand-btn{background:#374151;border-color:#4b5563;color:#d1d5db}[data-theme=dark] .expand-btn:hover{background:#4b5563;border-color:#6b7280}[data-theme=dark] .delete-chunk-btn{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}[data-theme=dark] .delete-chunk-btn:hover{background:#991b1b;border-color:#dc2626}[data-theme=dark] .chunks-list{display:flex;flex-direction:column;gap:8px}[data-theme=dark] .chunk-item{background:#475569;border:1px solid #64748b;border-radius:6px;padding:12px}[data-theme=dark] .chunk-index{background:#1e40af;border-radius:4px;color:#3b82f6;display:inline-block;font-size:11px;font-weight:600;margin-bottom:8px;padding:2px 6px}[data-theme=dark] .chunk-content{color:#cbd5e1;font-size:12px;line-height:1.4;margin:0}[data-theme=dark] .more-chunks{color:#94a3b8;font-size:12px;font-style:italic;margin:8px 0 0;text-align:center}[data-theme=dark] .document-header .file-type{background:#1e40af;border-radius:4px;color:#dbeafe;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}[data-theme=dark] .manager-header{background:#334155;border-color:#475569;margin-bottom:24px}[data-theme=dark] .manager-header h3{color:#f1f5f9;font-size:24px;font-weight:700;margin:0}[data-theme=dark] .manager-controls{align-items:center;display:flex;gap:12px}[data-theme=light] .document-manager{background:#fff;color:#1e293b}[data-theme=light] .manager-header{background:#f8fafc;border-color:#e2e8f0;margin-bottom:24px}[data-theme=light] .manager-header h3{color:#1e293b;font-size:24px;font-weight:700;margin:0}[data-theme=light] .filter-controls{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .category-filter{background:#fff;border-color:#d1d5db;color:#1e293b}[data-theme=light] .category-filter:focus{background:#fff;border-color:#3b82f6}[data-theme=light] .refresh-btn{background:#3b82f6;border-color:#3b82f6;color:#fff}[data-theme=light] .refresh-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb}[data-theme=light] .refresh-btn:disabled{background:#d1d5db;border-color:#d1d5db;color:#9ca3af}[data-theme=light] .stats-bar{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .stat-item{color:#475569}[data-theme=light] .stat-item svg{color:#3b82f6}[data-theme=light] .empty-state{background:#fff;color:#64748b}[data-theme=light] .empty-state h4{color:#1e293b}[data-theme=light] .empty-state p{color:#64748b}[data-theme=light] .documents-grid{background:#fff}[data-theme=light] .document-card{background:#fff;border-color:#e2e8f0;color:#1e293b}[data-theme=light] .document-card:hover{background:#f8fafc;border-color:#d1d5db}[data-theme=light] .document-header h3{color:#1e293b}[data-theme=light] .document-meta{color:#64748b}[data-theme=light] .document-meta svg{color:#9ca3af}[data-theme=light] .document-actions button{color:#ef4444}[data-theme=light] .document-actions button:hover{background:#fef2f2;color:#dc2626}[data-theme=light] .modal{background:#fff;border-color:#e2e8f0}[data-theme=light] .modal h4{color:#1e293b}[data-theme=light] .modal p{color:#64748b}[data-theme=light] .modal-actions{background:#f8fafc}[data-theme=light] .cancel-btn{background:#f1f5f9;border-color:#d1d5db;color:#475569}[data-theme=light] .cancel-btn:hover{background:#e2e8f0;color:#1e293b}[data-theme=light] .confirm-btn{background:#3b82f6;color:#fff}[data-theme=light] .confirm-btn:hover:not(:disabled){background:#2563eb}[data-theme=light] .confirm-btn.danger{background:#ef4444;border-color:#ef4444}[data-theme=light] .confirm-btn.danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}[data-theme=light] .confirm-btn:disabled{background:#d1d5db;border-color:#d1d5db;color:#9ca3af}[data-theme=light] .category-management{background:#f8fafc;border-color:#e2e8f0;margin-top:24px}[data-theme=light] .category-management h4{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:16px}[data-theme=light] .category-list{display:flex;flex-direction:column;gap:8px}[data-theme=light] .category-item{align-items:center;background:#fff;border-color:#d1d5db;border-radius:8px;color:#1e293b;display:flex;justify-content:space-between;padding:12px 16px}[data-theme=light] .category-item:hover{background:#f8fafc;border-color:#94a3b8}[data-theme=light] .category-name{color:#1e293b;font-weight:500}[data-theme=light] .category-count{background:#dbeafe;border-radius:12px;color:#1e40af;font-size:12px;font-weight:600;padding:2px 8px}[data-theme=light] .category-actions{display:flex;gap:8px}[data-theme=light] .category-actions button{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}[data-theme=light] .category-actions button:hover{background:#dc2626}[data-theme=light] .chunks-preview{margin-top:16px}[data-theme=light] .chunks-preview h5{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:12px}[data-theme=light] .delete-all-chunks-btn{background:#fef2f2;border-color:#fecaca;color:#dc2626}[data-theme=light] .delete-all-chunks-btn:hover{background:#fee2e2;border-color:#fca5a5}[data-theme=light] .expand-btn{background:#f3f4f6;border-color:#d1d5db;color:#374151}[data-theme=light] .expand-btn:hover{background:#e5e7eb;border-color:#9ca3af}[data-theme=light] .delete-chunk-btn{background:#fef2f2;border-color:#fecaca;color:#dc2626}[data-theme=light] .delete-chunk-btn:hover{background:#fee2e2;border-color:#fca5a5}[data-theme=light] .chunks-list{display:flex;flex-direction:column;gap:8px}[data-theme=light] .chunk-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px}[data-theme=light] .chunk-index{background:#dbeafe;border-radius:4px;color:#1e40af;display:inline-block;font-size:11px;font-weight:600;margin-bottom:8px;padding:2px 6px}[data-theme=light] .chunk-content{color:#475569;font-size:12px;line-height:1.4;margin:0}[data-theme=light] .more-chunks{color:#64748b;font-size:12px;font-style:italic;margin:8px 0 0;text-align:center}[data-theme=light] .document-header .file-type{border-radius:4px;font-size:11px;padding:2px 8px;text-transform:uppercase}[data-theme=light] .document-header .file-type,[data-theme=light] .file-category{background:#dbeafe;color:#1e40af;font-weight:600}.dataset-view{margin:0 auto;max-width:1400px;padding:2rem}.dataset-header{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.dataset-header,.dataset-title{align-items:center;display:flex}.dataset-title{gap:.75rem}.dataset-title h2{font-size:1.75rem;font-weight:600;margin:0}.dataset-actions{align-items:center;display:flex;gap:1rem}.btn-download,.btn-refresh{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.btn-refresh{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);color:#1f2937;color:var(--text-primary,#1f2937)}.btn-refresh:hover:not(:disabled){background:#e5e7eb;background:var(--bg-tertiary,#e5e7eb);transform:translateY(-1px)}.btn-download{color:#fff;font-weight:500}.btn-download-json{background:#10b981}.btn-download-json:hover:not(:disabled){background:#059669;box-shadow:0 4px 6px #10b9814d;transform:translateY(-1px)}.btn-download-csv{background:#3b82f6}.btn-download-csv:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 6px #3b82f64d;transform:translateY(-1px)}.btn-download:disabled,.btn-refresh:disabled{cursor:not-allowed;opacity:.5}.download-buttons{display:flex;gap:.75rem}.dataset-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}@media (max-width:1200px){.stat-value{font-size:1.75rem}}@media (max-width:768px){.stat-value{font-size:1.5rem}}.stat-card:nth-child(2) .stat-value{font-size:1.75rem}@media (max-width:1200px){.stat-card:nth-child(2) .stat-value{font-size:1.5rem}}@media (max-width:768px){.stat-card:nth-child(2) .stat-value{font-size:1.25rem}}.stat-card{align-items:center;background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.75rem;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:visible;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.stat-value{color:#3b82f6;color:var(--primary-color,#3b82f6);display:block;font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:.5rem;order:2;word-break:keep-all}.stat-label,.stat-value{overflow:visible;text-align:center;white-space:nowrap;width:100%}.stat-label{font-size:.875rem;letter-spacing:.05em;margin-bottom:.75rem;order:1;text-transform:uppercase}.dataset-empty,.stat-label{color:#6b7280;color:var(--text-secondary,#6b7280)}.dataset-empty{padding:4rem 2rem;text-align:center}.dataset-empty svg{margin-bottom:1rem;opacity:.5}.dataset-empty h3{color:#1f2937;color:var(--text-primary,#1f2937);margin:1rem 0 .5rem}.dataset-content{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.75rem;overflow:hidden}.dataset-table-container{max-height:600px;overflow-x:auto;overflow-y:auto}.dataset-table{border-collapse:collapse;table-layout:auto;width:100%}.dataset-table td:first-child,.dataset-table th:first-child{max-width:300px;min-width:200px}.dataset-table td:nth-child(2),.dataset-table th:nth-child(2){max-width:100px;min-width:80px}.dataset-table td:nth-child(3),.dataset-table th:nth-child(3){max-width:150px;min-width:100px}.dataset-table td:nth-child(4),.dataset-table th:nth-child(4){max-width:250px;min-width:150px}.dataset-table td:nth-child(5),.dataset-table td:nth-child(6),.dataset-table td:nth-child(7),.dataset-table th:nth-child(5),.dataset-table th:nth-child(6),.dataset-table th:nth-child(7){max-width:120px;min-width:80px}.dataset-table thead{background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);position:-webkit-sticky;position:sticky;top:0;z-index:10}.dataset-table th{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.dataset-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);font-size:.875rem;overflow:hidden;padding:1rem;text-overflow:ellipsis}.dataset-table tbody tr:hover{background:#f9fafb;background:var(--bg-hover,#f9fafb)}.dataset-table tbody tr:last-child td{border-bottom:none}.file-name{color:#1f2937;color:var(--text-primary,#1f2937);font-weight:500;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-word}.file-type{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;text-transform:uppercase}.category-badge{background:#3b82f6;background:var(--primary-color,#3b82f6);border-radius:.375rem;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.vendor{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chunks,.size,.vendor{color:#6b7280;color:var(--text-secondary,#6b7280)}.chunks,.size{font-family:Courier New,monospace;text-align:right}.uploaded{font-size:.8125rem}.dataset-info,.uploaded{color:#6b7280;color:var(--text-secondary,#6b7280)}.dataset-info{background:#f9fafb;background:var(--bg-tertiary,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);font-size:.875rem;padding:1.5rem}.dataset-info p{margin:.5rem 0}.dataset-info strong{color:#1f2937;color:var(--text-primary,#1f2937)}[data-theme=dark] .dataset-content,[data-theme=dark] .stat-card{background:#1f2937;background:var(--bg-secondary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .dataset-table thead{background:#111827;background:var(--bg-tertiary,#111827)}[data-theme=dark] .dataset-table tbody tr:hover{background:#111827;background:var(--bg-hover,#111827)}[data-theme=dark] .dataset-info{background:#111827;background:var(--bg-tertiary,#111827)}@media (max-width:768px){.dataset-view{padding:1rem}.dataset-header{align-items:stretch}.dataset-actions,.dataset-header,.download-buttons{flex-direction:column}.download-buttons{width:100%}.btn-download{justify-content:center;width:100%}.dataset-stats{grid-template-columns:repeat(2,1fr)}.dataset-table-container{max-height:400px}.dataset-table{font-size:.75rem}.dataset-table td,.dataset-table th{padding:.75rem .5rem}}.health-status{margin:0 auto;max-width:600px}.health-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px}.health-header h3{color:#1e293b;font-size:24px;font-weight:700;margin:0}.refresh-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#6b7280;padding:8px;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.health-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden}.main-status{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #f1f5f9;padding:24px}.status-indicator{align-items:center;display:flex;gap:12px;margin-bottom:8px}.status-icon{flex-shrink:0}.status-icon.healthy{color:#10b981}.status-icon.unhealthy{color:#ef4444}.status-icon.warning{color:#f59e0b}.status-text{font-size:18px;font-weight:600}.last-checked{color:#6b7280;font-size:12px;margin-left:32px}.service-status{padding:24px}.service-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px 0}.service-item:last-child{border-bottom:none}.service-header{align-items:center;color:#374151;display:flex;font-weight:500;gap:12px}.service-header svg{color:#6b7280}.service-status-indicator{align-items:center;display:flex;font-size:14px;font-weight:500;gap:8px}.timestamp-info{background:#f8fafc;border-top:1px solid #f1f5f9;color:#6b7280;padding:16px 24px}.timestamp-info,.version-info{font-size:12px;text-align:center}.version-info{background:#f0f9ff;border-top:1px solid #e0f2fe;color:#0369a1;font-weight:500;padding:12px 24px}.error-info{align-items:center;background:#fef2f2;border-top:1px solid #fecaca;color:#dc2626;display:flex;font-size:14px;font-weight:500;gap:8px;padding:16px 24px}.error-info svg{flex-shrink:0}.loading-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-state svg{color:#3b82f6;margin-bottom:16px}.loading-state span{font-size:14px;font-weight:500}.status-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:4px 8px;text-transform:uppercase}.status-badge.healthy{background:#d1fae5;color:#065f46}.status-badge.unhealthy{background:#fee2e2;color:#991b1b}.status-badge.warning{background:#fef3c7;color:#92400e}.status-indicator{animation:fadeIn .3s ease-in}.service-item{animation:slideIn .3s ease-out}.service-item:first-child{animation-delay:.1s}.service-item:nth-child(2){animation-delay:.2s}.service-item:nth-child(3){animation-delay:.3s}@media (max-width:768px){.health-status{max-width:100%}.health-header{align-items:stretch;flex-direction:column;gap:16px}.health-header h3{font-size:20px;text-align:center}.main-status{padding:20px}.status-indicator{align-items:flex-start;flex-direction:column;gap:8px}.last-checked{margin-left:0;margin-top:4px}.service-status{padding:20px}.service-item{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 0}.service-header{font-size:14px}.service-status-indicator{font-size:13px}.timestamp-info{font-size:11px;padding:12px 20px}.error-info{font-size:13px;padding:12px 20px}.loading-state{padding:40px 16px}}@media (max-width:480px){.health-header h3{font-size:18px}.status-text{font-size:16px}.service-header{font-size:13px}.service-status-indicator{font-size:12px}.main-status,.service-status{padding:16px}}@media (prefers-color-scheme:dark){.health-status{color:#f1f5f9}.health-content,.main-status{background:#1e293b;border-color:#334155}.service-item{border-color:#334155}.timestamp-info{background:#0f172a;color:#94a3b8}.error-info{background:#7f1d1d;color:#fecaca}}[data-theme=dark] .health-status{background:#1e293b;color:#f1f5f9}[data-theme=dark] .health-header{background:#334155;border-color:#475569}[data-theme=dark] .health-header h3{color:#f1f5f9}[data-theme=dark] .refresh-btn{background:#475569;border-color:#64748b;color:#cbd5e1}[data-theme=dark] .refresh-btn:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff}[data-theme=dark] .refresh-btn:disabled{background:#64748b;border-color:#64748b;color:#94a3b8}[data-theme=dark] .health-content{background:#1e293b;border-color:#334155}[data-theme=dark] .main-status{background:linear-gradient(135deg,#334155,#475569);border-color:#475569}[data-theme=dark] .status-text{color:#f1f5f9}[data-theme=dark] .last-checked{color:#94a3b8}[data-theme=dark] .service-status{background:#1e293b}[data-theme=dark] .service-item{border-color:#334155}[data-theme=dark] .service-header{color:#f1f5f9}[data-theme=dark] .service-header svg{color:#94a3b8}[data-theme=dark] .service-status-indicator{color:#cbd5e1}[data-theme=dark] .timestamp-info{background:#334155;border-color:#475569;color:#94a3b8}[data-theme=dark] .version-info{background:#1e40af;border-color:#3b82f6;color:#dbeafe}[data-theme=dark] .error-info{background:#7f1d1d;border-color:#dc2626;color:#fecaca}[data-theme=dark] .error-info svg{color:#fecaca}[data-theme=dark] .loading-state{background:#1e293b;border-color:#334155;color:#94a3b8}[data-theme=dark] .loading-state svg{color:#3b82f6}[data-theme=dark] .status-badge.healthy{background:#064e3b;color:#6ee7b7}[data-theme=dark] .status-badge.unhealthy{background:#7f1d1d;color:#fecaca}[data-theme=dark] .status-badge.warning{background:#78350f;color:#fbbf24}[data-theme=light] .health-status{background:#fff;color:#1e293b}[data-theme=light] .health-header{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .health-header h3{color:#1e293b}[data-theme=light] .refresh-btn{background:#f1f5f9;border-color:#d1d5db;color:#64748b}[data-theme=light] .refresh-btn:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff}[data-theme=light] .health-content{background:#fff;border-color:#e2e8f0}[data-theme=light] .main-status{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#e2e8f0}[data-theme=light] .status-text{color:#1e293b}[data-theme=light] .last-checked{color:#64748b}[data-theme=light] .service-status{background:#fff}[data-theme=light] .service-item{border-color:#f1f5f9}[data-theme=light] .service-header{color:#1e293b}[data-theme=light] .service-header svg{color:#64748b}[data-theme=light] .service-status-indicator{color:#475569}[data-theme=light] .timestamp-info{background:#f8fafc;border-color:#e2e8f0;color:#64748b}[data-theme=light] .version-info{background:#dbeafe;border-color:#93c5fd;color:#1e40af}[data-theme=light] .error-info{background:#fef2f2;border-color:#fecaca;color:#dc2626}[data-theme=light] .error-info svg{color:#dc2626}[data-theme=light] .loading-state{background:#fff;border-color:#e2e8f0;color:#64748b}[data-theme=light] .loading-state svg{color:#3b82f6}.profile-container{margin:0 auto;max-width:800px;padding:2rem}.profile-header{margin-bottom:2rem}.profile-header h2{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.profile-description{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem}.profile-section{margin-bottom:2rem}.profile-section:last-of-type{margin-bottom:0}.profile-form-card,.profile-info-card{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:.75rem;padding:2rem}.profile-form-card h3{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color,#e5e7eb);color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.125rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.75rem}.info-item{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:space-between;padding:1rem 0}.info-item:last-child{border-bottom:none}.info-label{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;gap:.5rem}.info-label,.info-value{font-size:.875rem;font-weight:500}.info-value{color:#1f2937;color:var(--text-primary,#1f2937)}.role-badge{align-items:center;display:flex}.role-badge span{border-radius:.375rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.role-admin{background:#dbeafe;color:#1e40af}.role-user{background:#f3f4f6;color:#4b5563}.password-form{margin-top:1rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151;color:var(--text-primary,#374151);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.required{color:#ef4444;margin-left:4px}.form-input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.5rem;color:#1f2937;color:var(--text-primary,#1f2937);font-size:.875rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input.error{border-color:#ef4444}.form-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-input:disabled{background:#f3f4f6;background:var(--bg-tertiary,#f3f4f6);cursor:not-allowed}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .form-input{padding-right:2.5rem}.icon-button{align-items:center;background:none;border:none;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.75rem;transition:color .2s}.icon-button:hover{color:#374151;color:var(--text-primary,#374151)}.form-help{color:#6b7280;color:var(--text-secondary,#6b7280)}.form-error,.form-help{font-size:.75rem;line-height:1.4;margin-top:.5rem}.form-error{color:#ef4444}.form-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn-save{align-items:center;background:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s,transform .1s}.btn-save:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-save:disabled{cursor:not-allowed;opacity:.5;transform:none}.profile-info{margin-top:2rem}.info-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;display:flex;gap:1rem;padding:1rem}.info-icon{color:#3b82f6;flex-shrink:0;margin-top:.125rem}.info-card h4{color:#1e40af;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.info-card p{color:#1e40af;font-size:.8125rem;line-height:1.5;margin:0}[data-theme=dark] .profile-form-card,[data-theme=dark] .profile-info-card{background:#1f2937;background:var(--bg-secondary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .form-input{background:#111827;background:var(--bg-primary,#111827);border-color:#4b5563;border-color:var(--border-color,#4b5563);color:#f9fafb;color:var(--text-primary,#f9fafb)}[data-theme=dark] .info-card{background:#1e3a5f;border-color:#3b82f6}[data-theme=dark] .info-card h4,[data-theme=dark] .info-card p{color:#93c5fd}[data-theme=dark] .role-admin{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .role-user{background:#374151;color:#d1d5db}@media (max-width:768px){.profile-container{padding:1rem}.profile-form-card,.profile-info-card{padding:1.5rem}.info-item{align-items:flex-start;flex-direction:column;gap:.5rem}.form-actions{justify-content:stretch}.btn-save{justify-content:center;width:100%}}.App{background-color:#f8fafc;min-height:100vh;transition:background-color .3s ease}.initial-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}[data-theme=dark] .initial-loading{background:linear-gradient(135deg,#1e293b,#334155)}[data-theme=dark] .App{background-color:#0f172a;color:#f1f5f9}[data-theme=dark]{color-scheme:dark}[data-theme=dark] #root,[data-theme=dark] html{background-color:#0f172a;color:#f1f5f9}[data-theme=dark] *{color:inherit}[data-theme=dark] body{background-color:#0f172a;color:#f1f5f9}[data-theme=dark] div,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,[data-theme=dark] p,[data-theme=dark] span{color:#f1f5f9}[data-theme=dark] button{color:inherit}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:#f1f5f9}[data-theme=dark] a{color:#60a5fa}[data-theme=dark] a:hover{color:#93c5fd}
/*# sourceMappingURL=main.0076a895.css.map*/