:root{--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-tertiary:#16213e;--bg-hover:#1f2b47;--bg-active:#253352;--text-primary:#e8e8f0;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-light:#7c3aed26;--border:#2a2a40;--danger:#ef4444;--success:#22c55e;--radius:12px;--radius-sm:8px;--shadow:0 4px 24px #0000004d;--sidebar-width:300px;--transition:all 0.2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:#0f0f1a;background:var(--bg-primary);color:#e8e8f0;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow:hidden}#root,body{height:100vh;height:100dvh}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:#7c3aed;color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#2a2a40;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6b6b80;background:var(--text-muted)}.loading-screen{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;height:100vh;height:100dvh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #2a2a40;border-top-color:#7c3aed;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.auth-container{align-items:center;background:#0f0f1a;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,#7c3aed14 0,#0000 50%),radial-gradient(ellipse at 80% 20%,#7c3aed0d 0,#0000 50%);display:flex;height:100vh;height:100dvh;justify-content:center;position:relative}.auth-card{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 24px #0000004d;box-shadow:var(--shadow);max-width:420px;padding:40px;width:100%}.auth-logo{margin-bottom:32px;text-align:center}.logo-icon{display:block;font-size:48px;margin-bottom:8px}.auth-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7c3aed,#a78bfa);background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.auth-subtitle{color:#a0a0b8;color:var(--text-secondary);font-size:14px;margin-top:4px}.form-group{margin-bottom:20px}.form-group label{color:#a0a0b8;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-group input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);font-size:14px;outline:none;padding:12px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.form-group input:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.btn-primary{background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:all .2s ease;transition:var(--transition);width:100%}.btn-primary:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-sm);color:#ef4444;color:var(--danger);font-size:13px;margin-bottom:16px;padding:10px 14px}.auth-switch{color:#a0a0b8;color:var(--text-secondary);font-size:14px;margin-top:24px;text-align:center}.auth-footer{bottom:16px;left:0;position:absolute;right:0;text-align:center}.disclaimer{color:#6b6b80;color:var(--text-muted);font-size:11px}.chat-layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{background:#1a1a2e;background:var(--bg-secondary);border-right:1px solid #2a2a40;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:transform .3s ease,width .3s ease;width:300px;width:var(--sidebar-width)}.sidebar.closed{border:none;overflow:hidden;transform:translateX(-100%);width:0}.sidebar-header{border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);justify-content:space-between;padding:16px 20px}.sidebar-brand,.sidebar-header{align-items:center;display:flex}.sidebar-brand{gap:10px}.sidebar-brand .logo-icon{font-size:24px;margin:0}.brand-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7c3aed,#a78bfa);background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.icon-btn{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:6px 8px;transition:all .2s ease;transition:var(--transition)}.icon-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.sidebar-section{padding:16px 20px 8px}.section-label{color:#6b6b80;color:var(--text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.model-select{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);cursor:pointer;font-size:13px;outline:none;padding:10px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.model-select:focus{border-color:#7c3aed;border-color:var(--accent)}.new-chat-btn{align-items:center;background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;margin:12px 20px;padding:10px 16px;transition:all .2s ease;transition:var(--transition)}.new-chat-btn:hover{background:#6d28d9;background:var(--accent-hover)}.new-chat-btn span{font-size:18px;font-weight:300}.select-toolbar{padding:4px 20px}.select-mode-btn{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:5px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.select-mode-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.select-actions{align-items:center;display:flex;gap:8px}.select-all-label{align-items:center;color:#a0a0b8;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:6px;white-space:nowrap}.select-all-label input[type=checkbox]{accent-color:#7c3aed;accent-color:var(--accent)}.bulk-delete-btn{background:#ef4444;background:var(--danger);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.bulk-delete-btn:disabled{cursor:not-allowed;opacity:.5}.bulk-delete-btn:hover:not(:disabled){opacity:.9}.cancel-select-btn{background:none;border:none;border-radius:4px;color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:2px 6px;transition:all .2s ease;transition:var(--transition)}.cancel-select-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.chat-checkbox{accent-color:#7c3aed;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.chat-item.selected{background:#7c3aed26;background:var(--accent-light)}.settings-panel{background:#16213e;background:var(--bg-tertiary);border-top:1px solid #2a2a40;border-top:1px solid var(--border);padding:12px 20px}.settings-header{align-items:center;color:#e8e8f0;color:var(--text-primary);display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:12px}.settings-option{margin-bottom:8px}.toggle-label{align-items:center;color:#e8e8f0;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;justify-content:space-between}.toggle-switch{background:#2a2a40;background:var(--border);border-radius:11px;cursor:pointer;height:22px;position:relative;transition:background .2s ease;width:40px}.toggle-switch.on{background:#7c3aed;background:var(--accent)}.toggle-knob{background:#fff;border-radius:50%;height:18px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:18px}.toggle-switch.on .toggle-knob{transform:translateX(18px)}.settings-hint{color:#6b6b80;color:var(--text-muted);font-size:11px;margin-top:4px}.chat-list{flex:1 1;overflow-y:auto;padding:8px 12px}.chat-item{align-items:center;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:10px;padding:10px 12px;position:relative;transition:all .2s ease;transition:var(--transition)}.chat-item:hover{background:#1f2b47;background:var(--bg-hover)}.chat-item.active{background:#253352;background:var(--bg-active)}.chat-icon{flex-shrink:0;font-size:14px}.chat-title{flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-actions{display:none;gap:2px}.chat-item:hover .chat-actions{display:flex}.action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:2px 4px;transition:all .2s ease;transition:var(--transition)}.action-btn:hover{background:#16213e;background:var(--bg-tertiary)}.rename-input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #7c3aed;border:1px solid var(--accent);border-radius:4px;color:#e8e8f0;color:var(--text-primary);flex:1 1;font-size:13px;outline:none;padding:4px 8px}.sidebar-footer{border-top:1px solid #2a2a40;border-top:1px solid var(--border);justify-content:space-between;padding:16px 20px}.sidebar-footer,.user-info{align-items:center;display:flex}.user-info{gap:10px}.user-avatar{align-items:center;background:#7c3aed;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{font-size:14px;font-weight:500}.footer-actions{align-items:center;display:flex;gap:4px}.logout-btn{font-size:18px}.chat-window{display:flex;flex:1 1;flex-direction:column;min-width:0}.chat-header{align-items:center;background:#1a1a2e;background:var(--bg-secondary);border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:16px 24px}.menu-btn{font-size:20px}.chat-header-info{align-items:center;display:flex;gap:12px}.chat-header-info h2{font-size:16px;font-weight:600}.model-badge{background:#7c3aed26;background:var(--accent-light);border-radius:20px;color:#7c3aed;color:var(--accent);font-size:11px;font-weight:500;padding:4px 10px}.messages-container{flex:1 1;overflow-y:auto;padding:24px}.welcome-screen{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;text-align:center}.welcome-logo{animation:float 3s ease-in-out infinite;font-size:72px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-screen h2{color:#e8e8f0;color:var(--text-primary);font-size:24px}.welcome-screen p{font-size:14px;line-height:1.6;max-width:400px}.model-selector{max-width:280px;width:100%}.model-selector .model-select{font-size:14px;padding:10px 16px;text-align:center;width:100%}.messages-list{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:800px}.message{animation:fadeIn .3s ease;display:flex;gap:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-avatar{align-items:center;background:#16213e;background:var(--bg-tertiary);border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.message-user .message-avatar{background:#7c3aed;background:var(--accent)}.message-content{flex:1 1;min-width:0}.message-role{color:#a0a0b8;color:var(--text-secondary);font-size:13px;font-weight:600;margin-bottom:4px}.message-text{color:#e8e8f0;color:var(--text-primary);font-size:14px;line-height:1.7}.message-text p{margin-bottom:8px}.message-text p:last-child{margin-bottom:0}.message-text pre{border-radius:8px;border-radius:var(--radius-sm);margin:12px 0;overflow:hidden}.message-text code.inline-code{background:#16213e;background:var(--bg-tertiary);border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:13px;padding:2px 6px}.message-text ol,.message-text ul{margin:8px 0;padding-left:24px}.message-text li{margin-bottom:4px}.message-duration{color:#a0a0b8;color:var(--text-secondary);font-size:11px;margin-top:6px;opacity:.7}.message-text blockquote{border-left:3px solid #7c3aed;border-left:3px solid var(--accent);color:#a0a0b8;color:var(--text-secondary);margin:12px 0;padding-left:16px}.message-text table{border-collapse:collapse;margin:12px 0;width:100%}.message-text td,.message-text th{border:1px solid #2a2a40;border:1px solid var(--border);padding:8px 12px;text-align:left}.message-text th{background:#16213e;background:var(--bg-tertiary);font-weight:600}.input-container{background:#0f0f1a;background:var(--bg-primary);padding:16px 24px 24px}.stop-btn{background:#16213e;background:var(--bg-tertiary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;display:block;font-size:13px;margin:0 auto 12px;padding:6px 20px;transition:all .2s ease;transition:var(--transition)}.stop-btn:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.input-wrapper{align-items:flex-end;background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;gap:12px;margin:0 auto;max-width:800px;padding:8px 12px;transition:all .2s ease;transition:var(--transition)}.input-wrapper:focus-within{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.input-wrapper textarea{background:none;border:none;color:#e8e8f0;color:var(--text-primary);flex:1 1;font-size:14px;line-height:1.5;max-height:200px;outline:none;padding:6px 4px;resize:none}.input-wrapper textarea::placeholder{color:#6b6b80;color:var(--text-muted)}.send-btn{align-items:center;background:#7c3aed;background:var(--accent);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:40px}.send-btn:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover);transform:scale(1.05)}.send-btn:disabled{cursor:not-allowed;opacity:.4}.sending-indicator{animation:pulse 1s ease-in-out infinite;font-size:12px}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.success-message{background:#22c55e1a;border:1px solid #22c55e4d;border-radius:12px;border-radius:var(--radius);margin-bottom:16px;padding:24px;text-align:center}.success-icon{align-items:center;background:#22c55e;background:var(--success);border-radius:50%;color:#fff;display:inline-flex;font-size:24px;font-weight:700;height:48px;justify-content:center;margin-bottom:12px;width:48px}.success-message h3{color:#22c55e;color:var(--success);font-size:18px;margin-bottom:8px}.success-message p{color:#a0a0b8;color:var(--text-secondary);font-size:14px;line-height:1.5}.admin-panel{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.admin-header{align-items:center;background:#1a1a2e;background:var(--bg-secondary);border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:16px 24px}.admin-header h2{font-size:16px;font-weight:600}.admin-content{flex:1 1;overflow-y:auto;padding:24px}.admin-loading{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;flex:1 1;justify-content:center}.admin-section{margin-bottom:32px}.admin-section-title{align-items:center;color:#a0a0b8;color:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px}.badge{background:#ef4444;background:var(--danger);border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px}.user-list{display:flex;flex-direction:column;gap:8px;max-width:600px}.user-card{align-items:center;background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:12px 16px}.user-card.pending{background:#eab3080d;border-color:#eab3084d}.user-card-info{align-items:center;display:flex;gap:12px}.user-card-avatar{background:#7c3aed;background:var(--accent);border-radius:50%;color:#fff;flex-shrink:0;font-weight:600;height:36px;justify-content:center;width:36px}.user-card-avatar,.user-card-name{align-items:center;display:flex;font-size:14px}.user-card-name{font-weight:500;gap:8px}.user-card-email{color:#6b6b80;color:var(--text-muted);font-size:12px}.role-badge{background:#7c3aed26;background:var(--accent-light);border-radius:4px;color:#7c3aed;color:var(--accent);font-size:10px;font-weight:600;padding:2px 6px}.btn-activate{background:#22c55e;background:var(--success);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease;transition:var(--transition)}.btn-activate:hover{opacity:.9}.btn-deactivate{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:8px;border-radius:var(--radius-sm);color:#ef4444;color:var(--danger);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease;transition:var(--transition)}.btn-deactivate:hover{background:#ef44441a}.user-card-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.user-card-activity{color:#6b6b80;color:var(--text-muted);font-size:11px;margin-top:2px}.btn-edit{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;padding:4px 8px;transition:all .2s ease;transition:var(--transition)}.btn-edit:hover{background:#1f2b47;background:var(--bg-hover)}.btn-delete{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:15px;opacity:.6;padding:4px 6px;transition:all .2s ease;transition:var(--transition)}.btn-delete:hover{background:#ef44441a;opacity:1}.modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:500}.modal{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 24px #0000004d;box-shadow:var(--shadow);max-width:380px;padding:24px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-size:15px;font-weight:600}.modal-body{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.modal-label{color:#a0a0b8;color:var(--text-secondary);font-size:12px;font-weight:500;margin-bottom:-4px}.modal-input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);font-size:14px;outline:none;padding:9px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.modal-input:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.modal-actions{display:flex;gap:8px}.sidebar-footer-copyright{border-top:1px solid #2a2a40;border-top:1px solid var(--border);color:#6b6b80;color:var(--text-muted);font-size:10px;line-height:1.4;padding:6px 16px;text-align:center}.settings-divider{background:#2a2a40;background:var(--border);height:1px;margin:10px 0}.settings-link-btn{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:7px 12px;text-align:left;transition:all .2s ease;transition:var(--transition);width:100%}.settings-link-btn:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.password-change-form{display:flex;flex-direction:column;gap:8px}.password-change-form input[type=password]{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);font-size:13px;outline:none;padding:8px 12px;transition:all .2s ease;transition:var(--transition);width:100%}.password-change-form input[type=password]:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 2px #7c3aed26;box-shadow:0 0 0 2px var(--accent-light)}.password-change-actions{display:flex;gap:8px;margin-top:2px}.btn-sm-primary{background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:7px 12px;transition:all .2s ease;transition:var(--transition)}.btn-sm-primary:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover)}.btn-sm-primary:disabled{cursor:not-allowed;opacity:.5}.btn-sm-cancel{background:none;border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#a0a0b8;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:13px;padding:7px 12px;transition:all .2s ease;transition:var(--transition)}.btn-sm-cancel:hover{background:#1f2b47;background:var(--bg-hover);color:#e8e8f0;color:var(--text-primary)}.error-message.small,.success-message.small{border-radius:8px;border-radius:var(--radius-sm);font-size:12px;padding:6px 10px}.error-message.small{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444;color:var(--danger)}.success-message.small{background:#22c55e1a;border:1px solid #22c55e4d;color:#22c55e;color:var(--success)}.sleeping-emoji{animation:breathe 4s ease-in-out infinite;display:block;font-size:72px}@keyframes breathe{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.08) rotate(3deg)}}.sleeping-zzz{align-items:flex-end;display:flex;gap:4px;height:32px}.sleeping-zzz .z{animation:floatZ 2.4s ease-in-out infinite;color:#7c3aed;color:var(--accent);font-weight:700;opacity:0}.sleeping-zzz .z1{animation-delay:0s;font-size:20px}.sleeping-zzz .z2{animation-delay:.6s;font-size:15px}.sleeping-zzz .z3{animation-delay:1.2s;font-size:11px}@keyframes floatZ{0%{opacity:0;transform:translateY(0)}20%{opacity:1}80%{opacity:.6}to{opacity:0;transform:translateY(-24px)}}.offline-msg{color:#6b6b80;color:var(--text-muted);font-size:14px;line-height:1.7;max-width:320px;text-align:center}.admin-tabs{background:#1a1a2e;background:var(--bg-secondary);border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);display:flex;gap:0;padding:0 24px}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;color:#a0a0b8;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s ease;transition:var(--transition)}.admin-tab:hover{color:#e8e8f0;color:var(--text-primary)}.admin-tab.active{border-bottom-color:#7c3aed;border-bottom-color:var(--accent);color:#7c3aed;color:var(--accent)}.admin-section-hint{color:#6b6b80;color:var(--text-muted);font-size:13px;line-height:1.5;margin-bottom:16px}.models-offline-hint{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#6b6b80;color:var(--text-muted);font-size:14px;padding:16px}.model-name-list{gap:10px;max-width:600px}.model-name-card,.model-name-list{display:flex;flex-direction:column}.model-name-card{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);gap:8px;padding:12px 16px}.model-name-original{color:#6b6b80;color:var(--text-muted);font-family:Fira Code,Consolas,monospace;font-size:12px}.model-name-input-row{align-items:center;display:flex;gap:8px}.model-display-name-input{background:#0f0f1a;background:var(--bg-primary);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e8f0;color:var(--text-primary);flex:1 1;font-size:14px;outline:none;padding:8px 12px;transition:all .2s ease;transition:var(--transition)}.model-display-name-input:focus{border-color:#7c3aed;border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed26;box-shadow:0 0 0 3px var(--accent-light)}.btn-save-name{background:#7c3aed;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.btn-save-name:hover:not(:disabled){background:#6d28d9;background:var(--accent-hover)}.btn-save-name:disabled{cursor:not-allowed;opacity:.5}.back-btn,.sidebar-backdrop{display:none}@media (max-width:768px){.sidebar{box-shadow:0 4px 24px #0000004d;box-shadow:var(--shadow);height:100vh;height:100dvh;left:0;max-width:320px;position:fixed;top:0;width:85vw;z-index:200}.sidebar.closed{transform:translateX(-100%)}.sidebar-header{padding:12px 16px}.sidebar-section{padding:12px 16px 6px}.new-chat-btn{margin:8px 16px}.sidebar-footer{padding:12px 16px}.sidebar-backdrop{background:#00000080;display:block;inset:0;opacity:1;position:fixed;transition:opacity .3s ease;z-index:150}.sidebar-backdrop.hidden{opacity:0;pointer-events:none}.chat-window{height:100vh;height:100dvh}.chat-header{flex-shrink:0;gap:8px;padding:10px 12px}.chat-header-info h2{font-size:14px}.back-btn{align-items:center;display:flex;font-size:20px;justify-content:center}.messages-container{padding:16px}.input-container{padding:8px 12px 12px}.auth-card{margin:16px;padding:24px}}.tenant-selector-page{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100vh;padding:24px}.tenant-selector-card{background:#1e1e2e;border:1px solid #2d2d44;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:560px;padding:32px;width:100%}.tenant-selector-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.tenant-selector-header-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.tenant-selector-header h1{color:#fff;font-size:28px;margin:0 0 8px}.tenant-selector-subtitle{color:#a0a0b8;font-size:14px;margin:0}.tenant-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.tenant-card{align-items:center;background:#2a2a40;border:1px solid #3a3a55;border-radius:10px;color:#fff;cursor:pointer;display:flex;gap:14px;padding:14px 16px;text-align:left;transition:all .15s ease;width:100%}.tenant-card:hover{background:#32324a;border-color:#4a4a6a;transform:translateY(-1px)}.tenant-card-icon{font-size:24px}.tenant-card-body{flex:1 1}.tenant-card-name{color:#fff;font-size:15px;font-weight:600}.tenant-card-role{color:#a0a0b8;font-size:12px;margin-top:2px}.tenant-card-arrow{color:#6a6a8a;font-size:18px}.tenant-empty{background:#2a2a40;border-radius:10px;color:#a0a0b8;margin-bottom:20px;padding:24px 16px;text-align:center}.tenant-selector-actions{display:flex;flex-direction:column;gap:12px}.tenant-create-form{display:flex;flex-direction:column;gap:10px}.tenant-create-actions{display:flex;gap:8px}.primary-btn{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:background .15s ease}.primary-btn:hover:not(:disabled){background:#5459e8}.primary-btn:disabled{cursor:not-allowed;opacity:.6}.link-btn{background:#0000;border:none;color:#8a8aa8;cursor:pointer;font-size:13px;padding:8px 12px}.link-btn:hover{color:#fff}.link-btn.danger{color:#ef4444}.link-btn.danger:hover{color:#f87171}.text-input{background:#2a2a40;border:1px solid #3a3a55;border-radius:8px;box-sizing:border-box;color:#fff;font-size:14px;padding:10px 14px;width:100%}.text-input:focus{border-color:#6366f1;outline:none}.form-error{color:#ef4444;font-size:13px;margin-top:4px}.tenant-switcher{margin:12px 12px 0;position:relative}.tenant-switcher-btn{align-items:center;background:#2a2a40;border:1px solid #3a3a55;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;width:100%}.tenant-switcher-btn:hover{background:#32324a}.tenant-switcher-btn .tenant-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-role-tag{background:#3a3a55;border-radius:10px;color:#c0c0dd;font-size:10px;padding:2px 6px;text-transform:uppercase}.tenant-chevron{color:#8a8aa8;font-size:10px}.tenant-menu{background:#1e1e2e;border:1px solid #3a3a55;border-radius:8px;box-shadow:0 10px 30px #00000080;left:0;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.tenant-menu-item{align-items:center;background:#0000;border:none;border-radius:6px;color:#e0e0f0;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;width:100%}.tenant-menu-item:hover{background:#2a2a40}.tenant-menu-divider{background:#3a3a55;height:1px;margin:4px 0}.tenant-settings-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.tenant-settings-modal{background:#1e1e2e;border:1px solid #3a3a55;border-radius:14px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:720px;width:100%}.tenant-settings-header{align-items:center;border-bottom:1px solid #2d2d44;display:flex;justify-content:space-between;padding:18px 24px}.tenant-settings-header h2{color:#fff;font-size:18px;margin:0}.tenant-settings-body{overflow-y:auto;padding:20px 24px}.tenant-settings-section{margin-bottom:28px}.tenant-settings-section h3{color:#fff;font-size:15px;margin:0 0 12px}.tenant-rename-form label{color:#a0a0b8;display:block;font-size:12px;margin-bottom:6px}.tenant-rename-row{display:flex;gap:8px}.members-table{border-collapse:collapse;margin-bottom:16px;width:100%}.members-table th{border-bottom:1px solid #2d2d44;color:#a0a0b8;font-size:12px;font-weight:500;padding:8px 10px;text-align:left}.members-table td{border-bottom:1px solid #2d2d44;color:#e0e0f0;font-size:13px;padding:10px}.members-table select{background:#2a2a40;border:1px solid #3a3a55;border-radius:6px;color:#fff;padding:4px 8px}.tenant-role-badge{background:#3a3a55;border-radius:10px;color:#c0c0dd;display:inline-block;font-size:11px;padding:2px 8px;text-transform:uppercase}.tenant-role-badge.role-owner{background:#6d3b9e;color:#fff}.tenant-role-badge.role-admin{background:#6366f1;color:#fff}.tag-self{color:#8a8aa8;font-size:12px}.add-member-form{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.add-member-form .text-input{flex:1 1;min-width:200px}.add-member-form select{background:#2a2a40;border:1px solid #3a3a55;border-radius:8px;color:#fff;padding:10px 14px}.section-hint{color:#9aa0c0;font-size:13px;margin:0 0 12px}.data-sources-panel{display:flex;flex-direction:column;gap:14px}.data-sources-empty{background:#1f1f33;border:1px dashed #3a3a55;border-radius:10px;color:#9aa0c0;margin:0;padding:18px;text-align:center}.data-sources-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.data-source-item{align-items:center;background:#1f1f33;border:1px solid #2e2e48;border-radius:10px;display:flex;gap:12px;padding:12px 14px}.data-source-icon{font-size:22px;line-height:1}.data-source-info{flex:1 1;min-width:0}.data-source-name{color:#fff;font-size:14px;font-weight:600}.data-source-meta{align-items:center;color:#9aa0c0;display:flex;font-size:12px;gap:10px;margin-top:2px}.data-source-type-tag{background:#2a2a40;border:1px solid #3a3a55;border-radius:6px;color:#c9c9e8;font-size:11px;padding:2px 8px}.data-source-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-actions{display:flex;gap:6px}.data-source-create-row{align-items:center;border-top:1px dashed #2e2e48;display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}.data-source-create-label{color:#9aa0c0;font-size:13px;margin-right:4px}.data-source-type-btn{align-items:center;background:#2a2a40;border:1px solid #3a3a55;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:8px 12px;transition:background .15s,border-color .15s}.data-source-type-btn:hover{background:#34344f;border-color:#4d4d70}.data-source-editor-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.data-source-editor{background:#16162a;border:1px solid #2e2e48;border-radius:14px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:min(640px,100%)}.data-source-editor-header{align-items:center;border-bottom:1px solid #2e2e48;display:flex;justify-content:space-between;padding:14px 18px}.data-source-editor-header h3{color:#fff;font-size:15px;margin:0}.data-source-editor-body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px 18px}.data-source-config{border-top:1px dashed #2e2e48;display:flex;flex-direction:column;gap:12px;padding-top:8px}.data-source-row{display:flex;gap:10px}.data-source-row>.data-source-field{flex:1 1}.data-source-field{display:flex;flex-direction:column;gap:4px}.data-source-field>span{color:#c9c9e8;font-size:12px}.data-source-field.small{max-width:120px}.data-source-field.inline{align-items:center;flex-direction:row;gap:8px}.data-source-field.inline>span{font-size:13px}.data-source-field select{background:#2a2a40;border:1px solid #3a3a55;border-radius:8px;color:#fff;font-size:13px;padding:8px 10px}.data-source-test-result{border-radius:8px;font-size:13px;padding:10px 12px}.data-source-test-result.ok{background:#2ea04326;border:1px solid #2ea04366;color:#7ee787}.data-source-test-result.fail{background:#f851491f;border:1px solid #f8514966;color:#ff8585}.data-source-test-ms{margin-left:6px;opacity:.7}.data-source-editor-footer{align-items:center;background:#14142a;border-top:1px solid #2e2e48;display:flex;gap:8px;justify-content:space-between;padding:12px 18px}.data-source-editor-footer-right,.workflows-nav-btn{display:flex;gap:8px}.workflows-nav-btn{align-items:center;background:linear-gradient(135deg,#5a3ed8,#7c5af7);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin:0 20px 12px;padding:10px 16px;text-align:left;transition:filter .15s,transform .05s}.workflows-nav-btn:hover{filter:brightness(1.1)}.workflows-nav-btn:active{transform:translateY(1px)}.workflows-nav-btn span{font-size:16px;font-weight:400}@media (max-width:768px){.workflows-nav-btn{margin:0 16px 8px}}.workflows-page{background:#0d0d1c;display:flex;flex:1 1;flex-direction:column;min-width:0}.workflows-header{align-items:center;background:#14142a;border-bottom:1px solid #2e2e48;display:flex;gap:10px;padding:14px 20px}.workflows-header h2{color:#fff;font-size:18px;margin:0}.workflows-body{flex:1 1;overflow-y:auto;padding:20px}.workflows-empty{background:#1f1f33;border:1px dashed #3a3a55;border-radius:14px;color:#9aa0c0;margin:60px auto;max-width:440px;padding:32px 24px;text-align:center}.workflows-empty p{margin:0 0 12px}.workflows-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.workflow-card{align-items:center;background:#1f1f33;border:1px solid #2e2e48;border-radius:12px;display:flex;gap:14px;padding:14px 18px}.workflow-card-main{flex:1 1;min-width:0}.workflow-card-title{align-items:center;color:#fff;display:flex;font-size:15px;font-weight:600;gap:8px}.workflow-foreign-tag,.workflow-shared-tag{background:#2a2a40;border:1px solid #3a3a55;border-radius:6px;color:#c9c9e8;font-size:11px;font-weight:400;padding:2px 8px}.workflow-shared-tag{background:#7c5af72e;border-color:#7c5af766;color:#c4b3ff}.workflow-card-desc{color:#c9c9e8;font-size:13px;margin-top:4px}.workflow-card-meta{color:#7c8099;font-size:12px;margin-top:4px}.workflow-card-actions{display:flex;flex-wrap:wrap;gap:6px}.workflow-editor-overlay,.workflow-runner-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.workflow-editor,.workflow-runner{background:#16162a;border:1px solid #2e2e48;border-radius:14px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;height:92vh;overflow:hidden;width:min(840px,100%)}.workflow-editor-header{align-items:center;border-bottom:1px solid #2e2e48;display:flex;justify-content:space-between;padding:14px 18px}.workflow-editor-header h2{color:#fff;font-size:16px;margin:0}.workflow-editor-body{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;padding:16px 18px}.workflow-editor-footer{background:#14142a;border-top:1px solid #2e2e48;display:flex;gap:8px;justify-content:space-between;padding:12px 18px}.workflow-meta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 3fr 1fr}@media (max-width:700px){.workflow-meta{grid-template-columns:1fr}}.workflow-ai-block{background:#1a1a30;border:1px solid #2e2e48;border-radius:10px;padding:10px 12px}.workflow-ai-actions{align-items:center;flex-wrap:wrap;justify-content:space-between}.workflow-ai-actions,.workflow-ai-row{display:flex;gap:10px;margin-top:8px}.workflow-ai-row .data-source-field{flex:1 1;min-width:220px}.workflow-ai-row select{background:#2a2a40;border:1px solid #3a3a55;border-radius:8px;color:#fff;font-size:13px;padding:8px 10px}.workflow-ai-hint{color:#9aa0c0;font-size:12px}.workflow-ai-mode-tabs{background:#15152a;border:1px solid #2e2e48;border-radius:8px;display:flex;gap:6px;margin-bottom:10px;padding:4px;width:fit-content}.workflow-ai-mode-tab{background:#0000;border:0;border-radius:6px;color:#9aa0c0;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .15s,color .15s}.workflow-ai-mode-tab:hover{color:#fff}.workflow-ai-mode-tab.active{background:#2a2a40;color:#fff;font-weight:500}.workflow-steps-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.workflow-steps-header h3{color:#fff;font-size:14px;margin:0}.workflow-add-step{background:#2a2a40;border:1px solid #3a3a55;border-radius:8px;color:#fff;font-size:13px;padding:8px 10px}.workflow-empty{background:#1a1a30;border:1px dashed #3a3a55;border-radius:10px;color:#9aa0c0;padding:16px;text-align:center}.workflow-step-list{counter-reset:ws;display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.workflow-step{background:#1f1f33;border:1px solid #2e2e48;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:12px}.workflow-step-head{align-items:center;display:flex;gap:8px}.workflow-step-index{align-items:center;background:#5a3ed8;border-radius:12px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.workflow-step-name{flex:1 1;min-width:0}.workflow-step-type-tag{background:#2a2a40;border:1px solid #3a3a55;border-radius:6px;color:#c9c9e8;font-size:11px;padding:2px 8px}.workflow-step-controls{display:flex;gap:4px}.workflow-step-controls .icon-btn.danger{color:#ef4444}.workflow-step-config{border-top:1px dashed #2e2e48;display:flex;flex-direction:column;gap:8px;padding:8px 4px 0}.workflow-step-id-hint{color:#7c8099;font-size:11px}.workflow-step-id-hint code{background:#2a2a40;border-radius:4px;color:#c9c9e8;font-size:11px;padding:1px 5px}.workflow-run-results{display:flex;flex-direction:column;gap:10px;margin-top:6px}.workflow-run-status{border-radius:8px;font-weight:500;padding:10px 12px}.workflow-run-status.completed{background:#2ea04326;border:1px solid #2ea04366;color:#7ee787}.workflow-run-status.failed{background:#f851491f;border:1px solid #f8514966;color:#ff8585}.workflow-run-status.running{align-items:center;background:#7c5af72e;border:1px solid #7c5af773;color:#c4b3ff;display:flex;gap:10px}.workflow-run-spinner{animation:workflow-spin .8s linear infinite;border:2px solid #ffffff40;border-radius:50%;border-top-color:#c4b3ff;display:inline-block;height:14px;width:14px}@keyframes workflow-spin{to{transform:rotate(1turn)}}.workflow-run-steps{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.workflow-run-step{background:#1f1f33;border:1px solid #2e2e48;border-radius:10px;padding:10px}.workflow-run-step.failed{border-color:#f8514980}.workflow-run-step-head{align-items:center;display:flex;gap:8px;margin-bottom:6px}.workflow-run-step-name{color:#fff;flex:1 1;font-size:13px;font-weight:500}.workflow-run-step-ms{color:#7c8099;font-size:11px}.workflow-run-error,.workflow-run-output{background:#14142a;border:1px solid #2e2e48;border-radius:8px;color:#c9c9e8;font-size:12px;margin:0;max-height:220px;overflow:auto;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.workflow-run-error{border-color:#f8514966;color:#ff8585}.workflow-schedule-block{background:#1f1f33;border:1px solid #3a3a55;border-radius:8px;margin-top:12px;padding:10px 12px}.workflow-schedule-head{margin-bottom:6px}.workflow-schedule-toggle{align-items:center;color:#d0d0e0;cursor:pointer;display:inline-flex;font-size:13px;gap:8px;-webkit-user-select:none;user-select:none}.workflow-schedule-toggle input{cursor:pointer;height:16px;width:16px}.workflow-schedule-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:8px}.workflow-schedule-hint{color:#9090a8;font-size:12px;font-style:italic;grid-column:1/-1;padding:4px 0}.workflow-card.locked{border-left:3px solid #f08080;opacity:.85}.workflow-locked-tag{background:#f0808026;border:1px solid #f080804d;border-radius:10px;color:#ffb0b0}.workflow-locked-tag,.workflow-schedule-tag{display:inline-block;font-size:11px;margin-left:8px;padding:2px 8px}.workflow-schedule-tag{background:#7fafff26;border:1px solid #7fafff4d;border-radius:10px;color:#aac8ff}.workflow-runner-tabs{background:#1a1a2a;border-bottom:1px solid #3a3a55;display:flex;gap:4px;padding:0 16px}.workflow-runner-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#8888a0;cursor:pointer;font-size:13px;margin-bottom:-1px;padding:10px 16px;transition:color .15s,border-color .15s}.workflow-runner-tab:hover{color:#d0d0e0}.workflow-runner-tab.active{border-bottom-color:#7faaff;color:#fff}.workflow-history{padding:4px 0}.workflow-history-head{align-items:center;color:#9090a8;display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.workflow-history-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.workflow-history-item{background:#1f1f33;border:1px solid #3a3a55;border-radius:6px;overflow:hidden}.workflow-history-item.failed{border-color:#f8514980}.workflow-history-row{align-items:center;cursor:pointer;display:flex;font-size:12px;gap:10px;padding:8px 10px}.workflow-history-row:hover{background:#25253c}.workflow-history-status{font-weight:600;text-align:center;width:16px}.workflow-history-status.completed{color:#6ee06e}.workflow-history-status.failed{color:#ff8585}.workflow-history-time{color:#d0d0e0;min-width:140px}.workflow-history-trigger{background:#7fafff1a;border-radius:8px;color:#aac8ff;font-size:11px;padding:1px 6px}.workflow-history-meta{color:#8888a0;flex:1 1}.workflow-history-toggle{color:#8888a0}.workflow-history-error{background:#f851491a;border-top:1px solid #f851494d;color:#ff8585;font-size:12px;padding:6px 10px}.workflow-history-detail{background:#18182a;border-top:1px solid #3a3a55;padding:10px}.workflow-editor-tabs{background:#1a1a2a;border-bottom:1px solid #3a3a55;display:flex;gap:4px;padding:0 16px}.workflow-editor-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#8888a0;cursor:pointer;font-size:13px;margin-bottom:-1px;padding:10px 16px;transition:color .15s,border-color .15s;white-space:nowrap}.workflow-editor-tab:hover{color:#d0d0e0}.workflow-editor-tab.active{border-bottom-color:#7faaff;color:#fff}.tenant-selector-brand,.workflow-tab-panel{display:flex;flex-direction:column;gap:12px}.tenant-selector-brand{align-items:flex-start}.tenant-selector-logo{height:60px;object-fit:contain;width:220px}.tenant-empty-hint{color:#8a8aa8;font-size:12px;margin-top:8px}.modal-checkbox-label{align-items:flex-start;color:#d0d0e0;cursor:pointer;display:flex;font-size:14px;gap:10px;margin-top:14px}.modal-checkbox-label input[type=checkbox]{cursor:pointer;margin-top:3px}.modal-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.modal-hint{color:#8a8aa8;font-size:12px;font-style:italic}.tenant-admin-empty{background:#2a2a40;border-radius:10px;color:#8a8aa8;padding:24px;text-align:center}.tenant-admin-list{display:flex;flex-direction:column;gap:8px}.tenant-admin-card{align-items:center;background:#2a2a40;border:1px solid #3a3a55;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.tenant-admin-card.inactive{opacity:.6}.tenant-admin-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.tenant-admin-icon{font-size:22px}.tenant-admin-name{align-items:center;color:#fff;display:flex;flex-wrap:wrap;font-weight:600;gap:8px}.tenant-admin-meta{color:#a0a0b8;font-size:12px;margin-top:2px}.tenant-admin-actions{display:flex;flex-shrink:0;gap:8px}.workflow-diagram-wrap{padding:4px 2px}.workflow-diagram{align-items:stretch;display:flex;flex-direction:column;gap:0}.workflow-diagram-empty{background:#15152a;border:1px dashed #3a3a55;border-radius:10px;color:#9aa0c0;padding:40px 20px;text-align:center}.workflow-diagram-row{align-items:stretch;display:flex;flex-direction:column}.workflow-diagram-arrow{align-items:center;display:flex;flex-direction:column;height:28px;margin:0;position:relative}.workflow-diagram-arrow-line{background:linear-gradient(180deg,#3a3a55,#5a5a78);flex:1 1;width:2px}.workflow-diagram-arrow-head{color:#5a5a78;font-size:11px;line-height:1;margin-top:-2px}.workflow-diagram-node{background:#1a1a30;border:1px solid #2e2e48;border-left:4px solid #888;border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.workflow-diagram-node:hover{border-color:#4a4a6e;box-shadow:0 2px 8px #00000040}.workflow-diagram-node.status-running{animation:workflow-diagram-pulse 1.4s ease-in-out infinite;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b26}@keyframes workflow-diagram-pulse{0%,to{box-shadow:0 0 0 2px #f59e0b26}50%{box-shadow:0 0 0 4px #f59e0b4d}}.workflow-diagram-node.status-pending{opacity:.5}.workflow-diagram-node.status-completed{border-color:#10b981}.workflow-diagram-node.status-failed{border-color:#ef4444;box-shadow:0 0 0 2px #ef444426}.workflow-diagram-node-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.workflow-diagram-index{align-items:center;background:#2a2a40;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;height:22px;justify-content:center;width:22px}.workflow-diagram-icon{font-size:18px;line-height:1}.workflow-diagram-name{color:#fff;flex:1 1;font-size:14px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis}.workflow-diagram-type-tag{border-radius:10px;color:#fff;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap}.workflow-diagram-status{font-size:14px;font-weight:700}.workflow-diagram-status.status-running{color:#f59e0b}.workflow-diagram-status.status-completed{color:#10b981}.workflow-diagram-status.status-failed{color:#ef4444}.workflow-diagram-status.status-pending{color:#6b7280}.workflow-diagram-id{color:#9aa0c0;font-size:11px;margin-top:6px}.workflow-diagram-id code{background:#15152a;border-radius:4px;font-size:11px;padding:1px 5px}.workflow-diagram-summary{color:#c0c5e0;font-size:13px;line-height:1.4;margin-top:6px;word-break:break-word}.workflow-diagram-refs{align-items:center;color:#9aa0c0;display:flex;flex-wrap:wrap;font-size:12px;gap:4px;margin-top:6px}.workflow-diagram-ref{background:#15152a;border:1px solid #2e2e48;border-radius:4px;color:#c0c5e0;font-size:11px;padding:1px 6px}.departments-panel{color:#c0c5e0}.departments-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.departments-create-form{display:flex;flex:1 1;gap:8px;min-width:240px}.departments-create-form .text-input{flex:1 1}.departments-template-actions{display:flex;gap:8px}.department-tree{list-style:none;margin:0;padding:0}.department-tree-node{margin:0 0 6px}.department-tree-row{align-items:center;background:#1a1a30;border:1px solid #2e2e48;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px}.department-tree-node.sub .department-tree-row{background:#15152a}.department-toggle{background:#0000;border:0;color:#9aa0c0;cursor:pointer;font-size:12px;width:20px}.department-icon{font-size:16px}.department-icon.sub{color:#6b7280;font-family:monospace}.department-name{color:#fff;cursor:default;flex:1 1;font-weight:500;min-width:100px}.department-meta{color:#9aa0c0;font-size:12px}.department-actions{display:flex;flex-shrink:0;gap:4px}.department-children{border-left:2px solid #2e2e48;margin-left:12px;padding:8px 0 8px 28px}.department-subtree{list-style:none;margin:8px 0 0;padding:0}.department-child-form{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.department-child-form .text-input{flex:1 1;min-width:200px}.department-members{margin-top:4px}.department-members-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.department-members-label{color:#9aa0c0;font-size:12px}.department-member-picker{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.department-member-picker select{padding:4px 6px}.department-member-list{list-style:none;margin:0;padding:0}.department-member-item{align-items:center;background:#2a2a40;border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px;padding:6px 10px}.department-member-name{color:#fff;font-weight:500}.department-member-email{color:#9aa0c0;flex:1 1;font-size:12px;min-width:100px}.department-member-item select{background:#1a1a30;border:1px solid #3a3a55;border-radius:4px;color:#fff;font-size:12px;padding:3px 6px}.tasks-page{background:#0e0e1f;color:#c0c5e0;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:20px 24px}.tasks-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.tasks-header h2{color:#fff;flex:1 1;margin:0}.tasks-tabs{border-bottom:1px solid #2e2e48;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tasks-tab{align-items:center;background:#0000;border:0;border-bottom:2px solid #0000;color:#9aa0c0;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 14px}.tasks-tab:hover{color:#fff}.tasks-tab.active{border-bottom-color:#7c3aed;color:#fff}.tasks-tab-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:1px 8px}.tasks-tab.active .tasks-tab-badge{background:#7c3aed}.tasks-status-filter{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.tasks-status-label{color:#9aa0c0;font-size:13px}.tasks-status-chip{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:5px;-webkit-user-select:none;user-select:none}.tasks-list-wrap{flex:1 1}.tasks-empty{color:#9aa0c0;padding:40px 20px;text-align:center}.tasks-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.tasks-card{background:#1a1a30;border:1px solid #2e2e48;border-left:4px solid #0ea5e9;border-radius:10px;padding:12px 14px}.tasks-card.status-in_progress{border-left-color:#f59e0b}.tasks-card.status-done{border-left-color:#10b981}.tasks-card.status-cancelled{border-left-color:#6b7280}.tasks-card.closed{opacity:.65}.tasks-card-head{align-items:center;display:flex;gap:10px;margin-bottom:6px}.tasks-card-status{flex-shrink:0;font-size:18px}.tasks-card-title{background:#0000;border:0;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:0;text-align:left}.tasks-card-title:hover{color:#c4b5fd}.tasks-card-due{color:#9aa0c0;flex-shrink:0;font-size:12px}.tasks-card-due.soon{color:#f59e0b;font-weight:500}.tasks-card-due.overdue{color:#ef4444;font-weight:600}.tasks-card-meta{color:#9aa0c0;display:flex;flex-wrap:wrap;font-size:12px;gap:14px;margin-bottom:6px}.tasks-card-source{color:#c4b5fd}.tasks-card-detail{background:#15152a;border-radius:6px;font-size:13px;margin:8px 0;padding:8px 10px}.tasks-card-detail details summary{color:#9aa0c0;cursor:pointer;font-size:12px}.tasks-card-payload{background:#0e0e1f;border-radius:4px;font-size:11px;margin-top:6px;overflow-x:auto;padding:8px}.tasks-card-actions{border-top:1px solid #2e2e48;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:8px}.email-config-panel{color:#c0c5e0}.email-config-actions{align-items:center;display:flex;gap:12px;margin-top:10px}.email-config-test{border-top:1px solid #2e2e48;margin-top:20px;padding-top:16px}.email-config-test h4{color:#fff;font-size:14px;margin:0 0 6px}.workflow-runner-diagram{background:#15152a;border:1px solid #2e2e48;border-radius:10px;margin:8px 0 16px;padding:10px}:root{--bell-reserve:70px}.admin-header,.chat-header,.tasks-header,.workflows-header{padding-right:70px;padding-right:var(--bell-reserve)}.notification-bell-wrap{position:fixed;right:16px;top:16px;z-index:900}.notification-bell-btn{align-items:center;background:#1a1a30;border:1px solid #3a3a55;border-radius:50%;box-shadow:0 2px 10px #0006;color:#fff;cursor:pointer;display:flex;font-size:20px;height:42px;justify-content:center;position:relative;transition:background .15s,border-color .15s,transform .1s;width:42px}.notification-bell-btn:hover{background:#2a2a40;border-color:#4a4a6e}.notification-bell-btn:active{transform:scale(.96)}.notification-bell-icon{line-height:1}.notification-bell-badge{align-items:center;background:#ef4444;border-radius:10px;box-shadow:0 0 0 2px #15152a;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px;position:absolute;right:-2px;top:-2px}.notification-popover{background:#1a1a30;border:1px solid #2e2e48;border-radius:12px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;max-height:70vh;max-width:calc(100vw - 32px);overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:360px}.notification-popover-head{align-items:center;border-bottom:1px solid #2e2e48;color:#fff;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 14px}.notification-popover-body{flex:1 1;overflow-y:auto}.notification-item{align-items:flex-start;background:#0000;border:0;border-bottom:1px solid #2a2a40;color:#c0c5e0;cursor:pointer;display:flex;gap:10px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.notification-item:hover{background:#2a2a40}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#6366f114}.notification-item.unread:hover{background:#6366f124}.notification-item-icon{flex-shrink:0;font-size:18px;padding-top:2px}.notification-item-text{flex:1 1;min-width:0}.notification-item-title{color:#fff;font-size:13px;font-weight:500;margin-bottom:2px}.notification-item-body{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#c0c5e0;display:-webkit-box;font-size:12px;line-height:1.3;overflow:hidden;word-break:break-word}.notification-item-time{color:#9aa0c0;font-size:11px;margin-top:4px}.notification-item-dot{background:#6366f1;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.tenant-personal-section{margin-top:16px}.tenant-personal-divider{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:12px;margin:16px 0 12px}.tenant-personal-divider:after,.tenant-personal-divider:before{background:#2e2e48;content:"";flex:1 1;height:1px}.tenant-card-personal{background:#6366f10a!important;border-style:dashed!important}.tenant-card-personal:hover{background:#6366f11a!important}.tenant-switcher-btn.personal{background:#6366f11a;border-color:#4a4a6e}.workflow-step-runif{margin-top:6px;padding:6px 0 0}.workflow-step-runif-label{color:#9aa0c0;display:flex;flex-direction:column;font-size:12px;gap:4px}.workflow-step-runif-label .text-input{font-family:monospace;font-size:12px}.workflow-step-runif-hint{color:#6b7280;display:block;font-size:11px;margin-top:3px}.workflow-diagram-node.status-skipped{border-style:dashed;opacity:.45}.tasks-view-toggle{background:#15152a;border:1px solid #2e2e48;border-radius:8px;display:inline-flex;margin-right:8px;padding:3px}.tasks-view-btn{background:#0000;border:0;border-radius:6px;color:#9aa0c0;cursor:pointer;font-size:12px;padding:5px 10px;transition:background .15s,color .15s}.tasks-view-btn:hover{color:#fff}.tasks-view-btn.active{background:#2a2a40;color:#fff;font-weight:500}.kanban-wrap{width:100%}.kanban-board{grid-gap:12px;display:grid;gap:12px;grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;overflow-x:auto;padding-bottom:8px}.kanban-column{background:#15152a;border:1px solid #2e2e48;border-radius:10px;display:flex;flex-direction:column;min-height:200px;min-width:0;transition:background .15s,border-color .15s}.kanban-column.drop-target{background:#6366f11a;border-color:#6366f1}.kanban-column-head{align-items:center;background:#1a1a30;border-bottom:1px solid #2e2e48;border-radius:10px 10px 0 0;border-top:3px solid #888;display:flex;gap:8px;padding:10px 12px}.kanban-column-icon{font-size:16px}.kanban-column-label{color:#fff;flex:1 1;font-size:13px;font-weight:600}.kanban-column-count{background:#2a2a40;border-radius:10px;color:#c0c5e0;font-size:11px;min-width:22px;padding:1px 7px;text-align:center}.kanban-column-body{display:flex;flex:1 1;flex-direction:column;gap:8px;max-height:calc(100vh - 320px);overflow-y:auto;padding:8px}.kanban-column-empty{color:#4a4a6e;font-size:12px;padding:20px 10px;text-align:center}.kanban-card{background:#1a1a30;border:1px solid #2e2e48;border-radius:8px;cursor:grab;padding:10px;transition:transform .1s,box-shadow .15s,border-color .15s}.kanban-card:hover{border-color:#4a4a6e;box-shadow:0 2px 8px #0000004d}.kanban-card:active{cursor:grabbing}.kanban-card[draggable=true]:active{transform:rotate(2deg) scale(1.02)}.kanban-card-title{color:#fff;font-size:13px;font-weight:500;margin-bottom:6px;word-break:break-word}.kanban-card-due,.kanban-card-meta{color:#9aa0c0;font-size:11px;margin-bottom:4px}.kanban-card-due.overdue{color:#ef4444;font-weight:600}.kanban-card-due.soon{color:#f59e0b}.kanban-card-workflow{color:#6366f1;font-size:11px;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card-actions{border-top:1px solid #2a2a40;display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;padding-top:6px}.kanban-card-actions .link-btn{font-size:11px;padding:2px 4px}.kanban-card-title-btn{background:#0000;border:0;color:#fff;cursor:pointer;font-size:13px;font-weight:500;line-height:1.3;margin-bottom:6px;padding:0;text-align:left;width:100%;word-break:break-word}.kanban-card-title-btn:hover{color:#c0c5e0;text-decoration:underline}.task-detail-grid{grid-gap:6px;color:#c0c5e0;display:grid;font-size:13px;gap:6px;grid-template-columns:1fr}.task-detail-grid strong{color:#9aa0c0;font-weight:500;margin-right:6px}.task-detail-text{font-size:13px}.task-detail-payload,.task-detail-text{background:#15152a;border:1px solid #2e2e48;border-radius:6px;color:#c0c5e0;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.task-detail-payload{font-family:monospace;font-size:12px;margin:0;max-height:240px;overflow-y:auto}.tasks-card-actions-bar{display:flex;justify-content:flex-end;margin-top:4px}.tasks-card-actions-toggle{background:#0000;border:1px solid #2e2e48;border-radius:4px;color:#9aa3b2;cursor:pointer;font-size:11px;line-height:1.4;padding:2px 8px}.tasks-card-actions-toggle:hover{background:#1a1a2e;color:#e6e8ee}.tasks-card-status-select{align-items:center;color:#cbd0db;display:inline-flex;font-size:12px;gap:6px}.tasks-card-status-select select{background:#14142a;border:1px solid #2e2e48;border-radius:4px;color:#e6e8ee;font-size:12px;padding:3px 6px}.kanban-card-actions-bar{display:flex;justify-content:flex-end}.reassign-mode-tabs{display:flex;font-size:13px;gap:14px;margin-bottom:8px}.reassign-mode-tabs label{align-items:center;cursor:pointer;display:inline-flex;gap:4px}.task-statuses-panel{display:flex;flex-direction:column;gap:10px}.task-statuses-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.task-status-row{grid-gap:10px;align-items:center;background:#14142a;border:1px solid #2e2e48;border-radius:6px;display:grid;flex-wrap:wrap;gap:10px;grid-template-columns:auto 1fr auto auto;padding:6px 8px}.task-status-order{display:flex;flex-direction:column;gap:2px}.task-status-order .icon-btn{font-size:10px;line-height:1.2;padding:0 4px}.task-status-badge{align-items:center;border:1px solid;border-radius:12px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:3px 8px}.task-status-flags{display:flex;gap:6px}.task-status-tag{background:#1f2937;border-radius:8px;color:#93c5fd;font-size:10px;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.task-status-tag.final{color:#6ee7b7}.task-status-actions{display:flex;flex-wrap:wrap;gap:6px}.task-status-form{background:#0e0e1f;border-radius:6px;display:flex;flex-direction:column;gap:8px;grid-column:1/-1;margin-top:6px;padding:10px}.task-status-form-row{align-items:end;display:flex;flex-wrap:wrap;gap:12px}.task-status-form-row label{color:#cbd0db;display:flex;flex-direction:column;font-size:12px;gap:3px}.task-status-form-row.checkboxes label{align-items:center;flex-direction:row;gap:6px}.task-status-icon-input{width:80px}.task-status-color-suggestions{display:flex;gap:6px}.task-status-color-chip{border:1px solid #2e2e48;border-radius:50%;cursor:pointer;height:22px;width:22px}
/*# sourceMappingURL=main.c7e8d51e.css.map*/