@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.widget-container{--primary: #16A34A;--primary-gradient: linear-gradient(135deg, #16A34A 0%, #15803D 100%);--secondary: #4ADE80;--text-main: #1F2937;--text-muted: #6B7280;--bg-panel: rgba(255, 255, 255, .98);--bg-bubble-user: var(--primary-gradient);--bg-bubble-ai: #F3F4F6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);position:fixed;bottom:24px;right:24px;z-index:9999;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.widget-trigger{width:60px;height:60px;border-radius:50%;background:var(--primary-gradient);color:#fff;border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:0;right:0}.widget-trigger:before{content:"";position:absolute;width:100%;height:100%;background:var(--primary-gradient);border-radius:inherit;z-index:-1;animation:ping 2.5s cubic-bezier(0,0,.2,1) infinite;opacity:.6}@keyframes ping{75%,to{transform:scale(1.5);opacity:0}}.widget-trigger:hover{transform:scale(1.1);box-shadow:var(--shadow-xl)}.widget-trigger.hidden{transform:scale(0);opacity:0;pointer-events:none}.widget-panel{position:absolute;bottom:80px;right:0;width:380px;height:600px;max-height:calc(100vh - 120px);background:var(--bg-panel);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:24px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;transform:scale(.9) translateY(20px);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.16,1,.3,1)}.widget-panel.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}.widget-header{background:var(--primary-gradient);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);z-index:10}.widget-header-content{display:flex;align-items:center;gap:12px}.widget-avatar{position:relative;width:44px;height:44px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:2px solid rgba(255,255,255,.4)}.widget-avatar-icon{color:#fff}.widget-status-dot{position:absolute;bottom:2px;right:2px;width:10px;height:10px;background-color:var(--secondary);border:2px solid #16A34A;border-radius:50%}.widget-title-area{display:flex;flex-direction:column}.widget-title{margin:0;font-size:16px;font-weight:600;letter-spacing:.3px;line-height:1.2}.widget-subtitle{margin:4px 0 0;font-size:12px;opacity:.8}.widget-actions{display:flex;gap:8px}.widget-icon-btn{background:transparent;border:none;color:#fffc;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.widget-icon-btn:hover{color:#fff;background:#fff3;transform:scale(1.05)}.widget-settings-overlay{position:absolute;top:76px;left:0;width:100%;height:calc(100% - 76px);background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:20;transform:translateY(-10px);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;justify-content:center;padding:24px}.widget-settings-overlay.open{transform:translateY(0);opacity:1;pointer-events:auto}.widget-settings-content{background:#fff;padding:24px;border-radius:16px;box-shadow:var(--shadow-xl);width:100%;max-height:max-content;display:flex;flex-direction:column;gap:12px;border:1px solid rgba(0,0,0,.05)}.widget-settings-content h4{margin:0;color:var(--text-main);font-size:16px;font-weight:600}.widget-settings-content p{margin:0;color:var(--text-muted);font-size:13px}.widget-input-field{padding:12px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;outline:none;transition:all .2s;width:100%;box-sizing:border-box;font-family:inherit;background:#f9fafb}.widget-input-field:focus{border-color:var(--primary);box-shadow:0 0 0 4px #16a34a1a;background:#fff}.widget-btn-secondary{background:#fff;border:1px solid #E5E7EB;color:var(--text-main);padding:12px;border-radius:10px;font-weight:500;cursor:pointer;transition:all .2s;margin-top:8px;font-family:inherit;font-size:14px;box-shadow:var(--shadow-sm)}.widget-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.widget-messages{flex:1;padding:24px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth;background:#f8fafc}.widget-messages::-webkit-scrollbar{width:6px}.widget-messages::-webkit-scrollbar-track{background:transparent}.widget-messages::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px}.widget-messages::-webkit-scrollbar-thumb:hover{background:#00000040}.widget-empty{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:.8;animation:slideUpFade .6s cubic-bezier(.16,1,.3,1) forwards}.widget-empty-icon-wrapper{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#16a34a1a,#15803d1a);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:inset 0 0 0 1px #16a34a1a}.widget-empty h3{margin:0 0 10px;color:var(--text-main);font-weight:600;font-size:18px}.widget-empty p{margin:0;font-size:14px;color:var(--text-muted);max-width:240px;line-height:1.5}.widget-message-row{display:flex;gap:12px;align-items:flex-end;animation:slideUpFade .4s cubic-bezier(.16,1,.3,1)}.widget-message-row.user{flex-direction:row-reverse}@keyframes slideUpFade{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}.widget-msg-avatar{width:30px;height:30px;border-radius:50%;background:var(--primary-gradient);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 6px #16a34a33}.widget-bubble{padding:14px 18px;border-radius:20px;font-size:14px;line-height:1.5;max-width:80%;word-wrap:break-word;box-shadow:var(--shadow-sm);position:relative;white-space:pre-wrap}.widget-bubble.user{background:var(--bg-bubble-user);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 10px #16a34a40}.widget-bubble.assistant{background:var(--bg-bubble-ai);color:var(--text-main);border-bottom-left-radius:4px;border:1px solid rgba(0,0,0,.03)}.widget-contact-form{background:#f8fafc;border-radius:12px;padding:16px;border:1px solid #e2e8f0;max-width:85%}.widget-contact-form-title{font-size:13px;font-weight:600;margin:0 0 8px;color:var(--text-main)}.widget-contact-form-fields{display:grid;gap:8px}.widget-contact-input,.widget-contact-textarea{padding:8px 12px;border-radius:8px;border:1px solid #e2e8f0;font-size:13px;font-family:inherit;outline:none;transition:border-color .2s}.widget-contact-input:focus,.widget-contact-textarea:focus{border-color:var(--primary)}.widget-contact-textarea{resize:none}.widget-contact-submit{padding:8px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .2s}.widget-contact-submit:hover:not(:disabled){opacity:.9}.widget-contact-submit:disabled{opacity:.5;cursor:not-allowed}.widget-cursor{display:inline-block;width:6px;height:15px;background-color:var(--primary);vertical-align:text-bottom;margin-left:4px;border-radius:2px;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.widget-footer{padding:16px 20px;background:#fff;border-top:1px solid rgba(0,0,0,.05);z-index:10}.widget-input-wrapper{display:flex;align-items:flex-end;background:#f3f4f6;border-radius:24px;padding:10px 16px;border:1px solid transparent;transition:all .3s cubic-bezier(.16,1,.3,1)}.widget-input-wrapper:focus-within{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px #16a34a1a}.widget-input-wrapper textarea{flex:1;border:none;background:transparent;resize:none;outline:none;font-family:inherit;font-size:14px;color:var(--text-main);max-height:120px;padding:4px 0;line-height:1.5;overflow-y:auto}.widget-input-wrapper textarea::placeholder{color:#9ca3af}.widget-input-wrapper textarea::-webkit-scrollbar{width:4px}.widget-input-wrapper textarea::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.widget-send-btn{background:var(--primary);color:#fff;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:-1px;margin-left:10px;flex-shrink:0;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #16a34a4d}.widget-send-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 6px 12px #16a34a66}.widget-send-btn:active:not(:disabled){transform:translateY(0) scale(.95)}.widget-send-btn:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none;color:#9ca3af}.widget-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:480px){.widget-panel{bottom:0;right:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none}.widget-container{bottom:0;right:0;z-index:10000}.widget-trigger{bottom:24px;right:24px}.widget-settings-overlay{height:calc(100% - 76px)}}:root{--bg-primary: #F8FAFC;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--border: #e2e8f0;--border-hover: #cbd5e1;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #2563EB;--accent-hover: #1D4ED8;--accent-light: #3B82F6;--accent-glow: rgba(37, 99, 235, .12);--accent-glow-strong: rgba(37, 99, 235, .3);--gradient: linear-gradient(135deg, #2563EB 0%, #3B82F6 100%);--cta: #F97316;--cta-hover: #EA580C;--success: #10B981;--danger: #EF4444;--danger-hover: #DC2626;--warning: #F59E0B;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 4px 12px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--transition: .15s cubic-bezier(.4, 0, .2, 1);--transition-fast: .1s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--sidebar-bg: #0F172A;--sidebar-text: #94A3B8;--sidebar-text-bright: #E2E8F0;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(37, 99, 235, .15);--sidebar-divider: rgba(255, 255, 255, .08)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;font-size:14px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-layout{display:flex;height:100vh;background:var(--bg-primary)}.sidebar{width:260px;background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden}.sidebar-logo{padding:20px 20px 16px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.02em;color:#fff;border-bottom:1px solid var(--sidebar-divider);margin-bottom:8px}.sidebar-logo .icon{width:34px;height:34px;background:var(--gradient);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff}.sidebar-section-label{padding:16px 20px 6px;font-size:11px;font-weight:600;color:#94a3b899;text-transform:uppercase;letter-spacing:.08em}.sidebar-divider{height:1px;background:var(--sidebar-divider);margin:8px 16px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 10px;flex:1}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--sidebar-text);text-decoration:none;font-size:14px;font-weight:500;transition:all var(--transition);position:relative;border-left:3px solid transparent}.sidebar-link:hover{color:var(--sidebar-text-bright);background:var(--sidebar-hover)}.sidebar-link.active{color:#fff;background:var(--sidebar-active);font-weight:600;border-left-color:var(--accent)}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.user-info{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:8px 10px 12px;background:#ffffff0f;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.06)}.user-info-avatar{width:36px;height:36px;border-radius:50%;background:var(--gradient);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;font-weight:600;font-size:14px}.user-info-details{min-width:0;flex:1}.user-info-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info-email{font-size:11px;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom{padding:12px 10px 16px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--sidebar-divider);margin-top:auto}.sidebar-tenant-label{font-size:11px;color:#94a3b899;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:600;padding:0 4px}.sidebar-tenant-select{width:100%;padding:8px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--sidebar-text-bright);font-size:13px;font-family:JetBrains Mono,monospace;cursor:pointer;outline:none;transition:border-color var(--transition);appearance:auto}.sidebar-tenant-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb33}.sidebar-tenant-select option{background:var(--sidebar-bg);color:var(--sidebar-text-bright)}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:14px;font-weight:500;border:none;background:none;cursor:pointer;width:100%;font-family:inherit;transition:all var(--transition)}.sidebar-logout:hover{color:#fca5a5;background:#ef44441a}.main-content{flex:1;overflow-y:auto;padding:32px 40px;min-width:0;background:var(--bg-primary)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-header-left{flex:1}.page-title{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.2}.page-subtitle{color:#64748b;font-size:14px;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px 24px;border:1px solid #E2E8F0;box-shadow:0 1px 2px #0000000a;display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.blue{background:#2563eb1a;color:#2563eb}.stat-icon.green{background:#10b9811a;color:#10b981}.stat-icon.amber{background:#f59e0b1a;color:#f59e0b}.stat-icon.red{background:#ef44441a;color:#ef4444}.stat-icon.purple{background:#8b5cf61a;color:#8b5cf6}.stat-icon.cyan{background:#06b6d41a;color:#06b6d4}.stat-content{min-width:0}.stat-value{font-size:28px;font-weight:700;color:#0f172a;line-height:1}.stat-label{font-size:13px;color:#64748b;margin-top:4px}.action-bar{display:flex;gap:12px;align-items:center;margin-bottom:20px}.search-input-wrapper{position:relative;max-width:320px;flex:1}.search-input-wrapper svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input-wrapper input{width:100%;padding:9px 14px 9px 40px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:var(--text-primary);background:#fff;transition:border-color var(--transition),box-shadow var(--transition)}.search-input-wrapper input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb14}.action-bar-spacer{flex:1}.card{background:#fff;border-radius:12px;border:1px solid #E2E8F0;box-shadow:0 1px 2px #0000000a}.card-header{padding:16px 24px;border-bottom:1px solid #F1F5F9;display:flex;justify-content:space-between;align-items:center}.card-body{padding:24px}.card-title{font-size:16px;font-weight:600;color:#0f172a}.card-hover:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{background:#f8fafc;padding:12px 16px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid #E2E8F0}.data-table th:first-child{border-top-left-radius:12px}.data-table th:last-child{border-top-right-radius:12px}.data-table td{padding:14px 16px;font-size:14px;color:#334155;border-bottom:1px solid #F1F5F9;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#f8fafc}.table-wrapper{background:#fff;border-radius:12px;border:1px solid #E2E8F0;box-shadow:0 1px 2px #0000000a;overflow:hidden}.status-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.active{background:#10b981}.status-dot.pending{background:#f59e0b}.status-dot.invited{background:#3b82f6}.status-dot.disabled{background:#ef4444}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:8px;font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;border:none;transition:all var(--transition);white-space:nowrap;text-decoration:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:#2563eb;color:#fff;border:none}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-cta{background:var(--cta);color:#fff;border:none}.btn-cta:hover:not(:disabled){background:var(--cta-hover)}.btn-secondary{background:#f1f5f9;color:#334155;border:1px solid #E2E8F0}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#fef2f2;color:#dc2626;border:none}.btn-danger:hover{background:#fee2e2}.btn-ghost{background:transparent;border:1px solid #E2E8F0;color:#475569}.btn-ghost:hover{background:#f1f5f9;border-color:#cbd5e1;color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{padding:8px;border-radius:8px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}input[type=text],input[type=email],input[type=password],textarea{width:100%;padding:10px 14px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;font-family:Inter,sans-serif;transition:border-color var(--transition),box-shadow var(--transition);outline:none}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}input::placeholder,textarea::placeholder{color:var(--text-muted)}.input-field{width:100%;padding:10px 14px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:var(--text-primary);transition:all var(--transition);outline:none}.input-field:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}select{appearance:auto;background:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:10px 14px;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;cursor:pointer;transition:all var(--transition)}select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.form-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.modal{background:#fff;border-radius:16px;width:min(520px,90vw);max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026;animation:modalIn .2s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #F1F5F9}.modal-title{font-size:18px;font-weight:600;color:#0f172a}.modal-body{padding:24px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #F1F5F9}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.tab-switcher{display:flex;gap:0;border-bottom:1px solid #E2E8F0;margin-bottom:4px}.tab-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:inherit;font-weight:500;transition:all var(--transition)}.tab-btn:hover{color:var(--text-primary);background:#f8fafc}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:600;font-family:JetBrains Mono,monospace}.badge-chunks{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}.tag{display:inline-flex;align-items:center;padding:3px 10px;background:var(--accent-glow);color:var(--accent);border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.01em}.permission-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--accent-glow);color:var(--accent);border-radius:99px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--status-color) 10%,transparent);color:var(--status-color);border:1px solid color-mix(in srgb,var(--status-color) 20%,transparent)}.user-cell{display:flex;align-items:center;gap:12px}.user-cell-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.user-cell-info{min-width:0}.user-cell-name{font-size:14px;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-cell-email{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{text-align:center;padding:64px 24px}.empty-state-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:16px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#94a3b8}.empty-state .icon{display:flex;justify-content:center;margin-bottom:16px;color:#cbd5e1}.empty-state .title,.empty-state-title{font-size:16px;font-weight:600;color:#334155;margin-bottom:8px}.empty-state-text{font-size:14px;color:#64748b;margin-bottom:24px}.toast{position:fixed;top:24px;right:24px;min-width:320px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001f;border-left:4px solid;display:flex;align-items:center;gap:12px;z-index:9999;animation:toastSlideIn .3s ease-out;font-size:13px;font-weight:500;max-width:400px}.toast.success{border-left-color:var(--success);color:var(--text-primary)}.toast.error{border-left-color:var(--danger);color:var(--text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(20px) translateY(-10px)}to{opacity:1;transform:translate(0) translateY(0)}}.login-page{display:flex;min-height:100vh}.login-brand{flex:1;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);display:flex;flex-direction:column;justify-content:center;padding:60px;position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:-30%;left:-20%;width:140%;height:160%;background:radial-gradient(ellipse at 30% 40%,rgba(37,99,235,.15) 0%,transparent 60%);pointer-events:none}.login-brand-content{position:relative;z-index:1;max-width:480px}.login-brand h1{font-size:36px;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1.2;margin-bottom:16px}.login-brand p{font-size:16px;color:#94a3b8;line-height:1.7;margin-bottom:32px}.login-brand-features{display:flex;flex-direction:column;gap:16px}.login-brand-feature{display:flex;align-items:center;gap:12px;color:#cbd5e1;font-size:14px}.login-brand-feature-icon{width:36px;height:36px;border-radius:8px;background:#2563eb26;display:flex;align-items:center;justify-content:center;color:#60a5fa;flex-shrink:0}.login-right{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;padding:40px}.login-card{width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:flex;justify-content:center;margin-bottom:24px}.login-title{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px;color:var(--text-primary)}.login-subtitle{font-size:14px;color:#64748b}.login-form{display:flex;flex-direction:column;gap:20px}.login-form .form-group{margin-bottom:0}.login-form .form-group label{display:flex;align-items:center;font-size:13px;font-weight:500;color:#475569;margin-bottom:8px}.login-form .input-field{padding:12px 16px;font-size:14px}.login-btn{width:100%;padding:12px 18px;font-size:14px;font-weight:600;margin-top:4px}.login-error{padding:10px 14px;background:#fef2f2;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger);font-size:13px;text-align:center}.login-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;text-align:center;font-size:15px;font-weight:500;color:var(--text-primary)}.login-forgot{text-align:center;margin-top:4px}.login-forgot a{font-size:13px;color:var(--accent);text-decoration:none}.login-forgot a:hover{text-decoration:underline}.upload-zone{border:2px dashed #CBD5E1;border-radius:var(--radius);padding:48px 20px;text-align:center;cursor:pointer;transition:all var(--transition);background:#fafbfc;position:relative}.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent);background:#2563eb0a}.upload-zone .icon{display:flex;justify-content:center;margin-bottom:16px;color:var(--accent-light)}.upload-zone .label{font-size:15px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.upload-zone .hint{font-size:12px;color:var(--text-muted)}.upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.upload-form .file-name{font-size:13px;color:var(--accent);font-family:JetBrains Mono,monospace;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-glow);border-radius:var(--radius-sm)}.upload-row{display:flex;gap:10px;align-items:center}.upload-progress{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--accent-glow);border:1px solid rgba(37,99,235,.2);border-radius:var(--radius-sm);font-size:13px;color:var(--accent);margin-top:12px}.docs-grid{display:flex;flex-direction:column;gap:8px;margin-top:20px}.doc-row{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#fff;border:1px solid #E2E8F0;border-radius:var(--radius);transition:all var(--transition);box-shadow:var(--shadow-sm)}.doc-row:hover{border-color:var(--accent-light);box-shadow:var(--shadow)}.doc-row .doc-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background:#f1f5f9;flex-shrink:0}.doc-row .doc-info{flex:1;min-width:0}.doc-row .doc-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.doc-row .doc-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);margin-top:3px;align-items:center}.doc-row .doc-tags{display:flex;gap:4px;flex-shrink:0}.doc-row .doc-actions{flex-shrink:0;display:flex;gap:4px}.search-bar{display:flex;gap:10px;margin-bottom:16px}.search-bar input{flex:1}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:16px}.role-card{padding:20px 24px}.role-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.role-card-name{font-weight:600;font-size:15px;color:#0f172a;display:flex;align-items:center;gap:8px}.role-card-desc{font-size:13px;color:#64748b;margin-top:2px}.permission-count-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#2563eb14;color:var(--accent);border-radius:99px;font-size:11px;font-weight:600}.permission-groups{display:flex;flex-direction:column;gap:14px}.permission-group{display:flex;flex-direction:column;gap:8px}.permission-group-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;padding-bottom:6px;border-bottom:1px solid #F1F5F9}.permission-group-items{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.permission-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);transition:all var(--transition);border:1px solid transparent}.permission-checkbox:hover{background:#f8fafc;border-color:#e2e8f0}.permission-checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.toggle-btn{background:#fff;color:var(--text-secondary);border:1px solid #E2E8F0}.toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.toggle-btn.active{background:#fef2f2;border-color:#ef44444d;color:var(--danger)}.toggle-btn.active:hover{background:#fee2e2}.spinner{width:16px;height:16px;border:2px solid #E2E8F0;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.loading-dots{display:inline-flex;gap:4px;padding:4px 0}.loading-dots span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:dot-blink 1.4s infinite both}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-blink{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-layout{display:flex;height:calc(100vh - 64px);gap:0}.chat-sidebar{width:260px;background:#fff;border:1px solid #E2E8F0;border-radius:var(--radius);padding:16px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;box-shadow:var(--shadow-sm)}.chat-sidebar h3{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.chat-doc-list{display:flex;flex-direction:column;gap:4px}.chat-doc-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:all var(--transition);color:var(--text-secondary)}.chat-doc-item:hover{background:#f8fafc}.chat-doc-item.selected{background:var(--accent-glow);color:var(--accent)}.chat-doc-item input[type=checkbox]{accent-color:var(--accent)}.chat-doc-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topk-control{display:flex;flex-direction:column;gap:6px}.topk-control label{font-size:12px;color:var(--text-secondary);display:flex;justify-content:space-between}.topk-control input[type=range]{width:100%;accent-color:var(--accent)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:16px}.chat-messages{flex:1;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;gap:16px}.chat-message{display:flex;gap:12px;max-width:80%;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{margin-left:auto;flex-direction:row-reverse}.chat-message .avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.chat-message.user .avatar{background:var(--gradient);color:#fff}.chat-message.assistant .avatar{background:#fff;border:1px solid #E2E8F0;color:var(--text-secondary)}.chat-message .bubble{padding:12px 16px;border-radius:var(--radius);font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.chat-message.user .bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .bubble{background:#fff;border:1px solid #E2E8F0;border-bottom-left-radius:4px;box-shadow:var(--shadow-sm)}.chat-input-area{padding:16px 0 0;border-top:1px solid #E2E8F0}.chat-input-wrapper{display:flex;gap:10px;align-items:flex-end}.chat-input-wrapper textarea{flex:1;resize:none;min-height:44px;max-height:120px;padding:12px 14px;line-height:1.4}.chat-input-wrapper .btn{height:44px;width:44px;padding:0;flex-shrink:0;border-radius:var(--radius-sm)}.doc-preview-overlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .15s ease}.doc-preview-panel{width:min(720px,90vw);height:100vh;background:var(--bg-primary);display:flex;flex-direction:column;box-shadow:-4px 0 32px #00000026;animation:slideInRight .2s ease;position:relative}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.doc-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #E2E8F0;flex-shrink:0;background:#fff}.doc-preview-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;min-width:0}.doc-preview-title>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-preview-tabs{display:flex;gap:0;border-bottom:1px solid #E2E8F0;flex-shrink:0;background:#fff}.doc-preview-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;font-family:inherit;transition:all var(--transition-fast)}.doc-preview-tab:hover{color:var(--text-primary);background:#f8fafc}.doc-preview-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.doc-preview-body{flex:1;overflow-y:auto;padding:20px}.doc-preview-loading,.doc-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-muted)}.doc-chunks-list{display:flex;flex-direction:column;gap:12px}.doc-chunk-card{background:#fff;border:1px solid #E2E8F0;border-radius:var(--radius-sm);overflow:hidden;transition:all var(--transition)}.doc-chunk-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.doc-chunk-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #F1F5F9;font-size:12px}.doc-chunk-index{font-weight:600;color:var(--accent)}.doc-chunk-chars{color:var(--text-muted);margin-right:auto}.doc-chunk-actions{display:flex;gap:4px;margin-left:auto}.doc-chunk-content{padding:12px;margin:0;font-family:JetBrains Mono,SF Mono,monospace;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text-primary);max-height:200px;overflow-y:auto}.doc-chunk-editor{width:100%;padding:12px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:JetBrains Mono,SF Mono,monospace;font-size:12.5px;line-height:1.6;resize:vertical;outline:none;min-height:120px}.doc-chunk-editor:focus{box-shadow:inset 0 0 0 1px var(--accent)}.doc-chunks-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 4px}.doc-chunks-page-info{font-size:13px;color:var(--text-secondary)}.doc-full-editor{display:flex;flex-direction:column;height:100%;gap:12px}.doc-full-editor-info{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.15);border-radius:var(--radius-sm);font-size:12.5px;color:var(--warning);line-height:1.5;flex-shrink:0}.doc-full-editor-info svg{flex-shrink:0;margin-top:2px}.doc-full-textarea{flex:1;width:100%;min-height:300px;padding:16px;border:1px solid #E2E8F0;border-radius:var(--radius-sm);background:#fff;color:var(--text-primary);font-family:JetBrains Mono,SF Mono,monospace;font-size:13px;line-height:1.7;resize:none;outline:none;transition:border-color var(--transition)}.doc-full-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb14}.doc-full-editor-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.doc-full-editor-stats{font-size:12px;color:var(--text-muted)}.doc-full-editor-actions{display:flex;gap:8px}.doc-metadata-form{display:flex;flex-direction:column;gap:16px}.doc-metadata-info{padding:14px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:var(--radius-sm);font-size:12.5px;line-height:1.8;color:var(--text-secondary)}.doc-metadata-info strong{color:var(--text-primary)}.card-list{display:flex;flex-direction:column;gap:10px}.users-page,.roles-page,.admin-page{max-width:100%}.user-table{display:flex;flex-direction:column;background:#fff;border:1px solid #E2E8F0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.user-table-header{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f8fafc;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #E2E8F0}.user-table-row{display:flex;align-items:center;gap:12px;padding:14px 20px;font-size:13px;border-bottom:1px solid #F1F5F9;background:transparent;transition:all var(--transition)}.user-table-row:last-child{border-bottom:none}.user-table-row:hover{background:#f8fafc}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:44px;height:44px;font-size:16px}.section-header{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:14px}.section-header .badge{font-size:11px}.widget-status-dot.offline{background:var(--text-muted)!important}@media(max-width:768px){.login-brand{display:none}.login-page{background:#fff}.stats-grid{grid-template-columns:1fr 1fr}.roles-grid{grid-template-columns:1fr}}
