body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--shadow-strong:0 20px 60px #0003}[data-theme=dark]{--dark-bg:#0f0f23;--dark-card:#1a1a2e;--dark-border:#16213e;--text-secondary:#a0a0a0;--text-muted:#666;--error-color:#ff6b6b;--success-color:#51cf66;--input-bg:#ffffff0d;--input-focus-bg:#ffffff14}[data-theme=light]{--dark-bg:#f5f7fa;--dark-border:#e1e4e8;--text-primary:#1a1a2e;--text-secondary:#586069;--text-muted:#6a737d;--error-color:#d73a49;--success-color:#28a745;--input-focus-bg:#f6f8fa}.login-container{background:var(--dark-bg);background-image:radial-gradient(circle at 20% 80%,#7877c64d 0,#0000 50%),radial-gradient(circle at 80% 20%,#ff77c626 0,#0000 50%),radial-gradient(circle at 40% 40%,#7877c61a 0,#0000 50%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:24px;padding:calc(var(--spacing-unit)*3);position:relative;transition:background-color .3s ease}.login-container,.login-theme-toggle{align-items:center;display:flex;justify-content:center}.login-theme-toggle{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:50%;color:var(--text-primary);cursor:pointer;height:44px;position:absolute;right:24px;top:24px;transition:all .3s ease;width:44px;z-index:10}.login-theme-toggle:hover{background:var(--input-focus-bg);box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.login-theme-toggle:active{transform:scale(.95)}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--dark-card);border:1px solid var(--dark-border);border-radius:24px;border-radius:calc(var(--border-radius)*2);box-shadow:0 20px 60px #0003;box-shadow:var(--shadow-strong);max-width:420px;padding:48px;padding:calc(var(--spacing-unit)*6);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;width:100%}.login-card:hover{box-shadow:0 25px 80px #0000004d;transform:translateY(-2px)}.login-header{margin-bottom:32px;margin-bottom:calc(var(--spacing-unit)*4);text-align:center}.logo-placeholder{margin-bottom:24px;margin-bottom:calc(var(--spacing-unit)*3)}.logo-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:50%;box-shadow:0 10px 40px #0000001a;box-shadow:var(--shadow-soft);display:flex;font-size:28px;height:64px;justify-content:center;margin:0 auto;width:64px}.login-header h1{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px;margin:0 0 calc(var(--spacing-unit)*1) 0;transition:color .3s ease}.login-header p{color:var(--text-secondary);font-size:16px;line-height:1.5;margin:0;transition:color .3s ease}.login-form{margin-bottom:0}.form-group{margin-bottom:24px;margin-bottom:calc(var(--spacing-unit)*3)}.form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:8px;margin-bottom:calc(var(--spacing-unit)*1);transition:color .3s ease}.form-group input[type=email],.form-group input[type=password]{background:var(--input-bg);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);color:var(--text-primary);font-size:16px;outline:none;padding:16px;padding:calc(var(--spacing-unit)*2);transition:all .3s ease;width:100%}.form-group input[type=email]:focus,.form-group input[type=password]:focus{background:var(--input-focus-bg);border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:var(--error-color);box-shadow:0 0 0 3px #ff6b6b1a}.form-group input::placeholder{color:var(--text-muted)}.error-message{color:var(--error-color);display:block;font-size:12px;margin-top:4px;margin-top:calc(var(--spacing-unit)*.5)}.form-options{justify-content:space-between;margin-bottom:32px;margin-bottom:calc(var(--spacing-unit)*4)}.checkbox-label,.form-options{align-items:center;display:flex}.checkbox-label{color:var(--text-secondary);cursor:pointer;font-size:14px;transition:color .3s ease;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{display:none}.checkmark{border:2px solid var(--dark-border);border-radius:4px;height:18px;margin-right:8px;margin-right:calc(var(--spacing-unit)*1);position:relative;transition:all .3s ease;width:18px}.checkbox-label input[type=checkbox]:checked+.checkmark{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-color:#667eea}.checkbox-label input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.forgot-password{color:#667eea;font-size:14px;text-decoration:none;transition:color .3s ease}.forgot-password:hover{color:#764ba2;text-decoration:underline}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;gap:calc(var(--spacing-unit)*1);justify-content:center;min-height:48px;padding:16px;padding:calc(var(--spacing-unit)*2);transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 10px 30px #667eea66;transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:480px){.login-container{padding:16px;padding:calc(var(--spacing-unit)*2)}.login-theme-toggle{height:40px;right:16px;top:16px;width:40px}.login-card{padding:32px;padding:calc(var(--spacing-unit)*4)}.login-header h1{font-size:24px}.form-options{align-items:flex-start;flex-direction:column;gap:16px;gap:calc(var(--spacing-unit)*2)}}.login-button:focus-visible,.login-theme-toggle:focus-visible{outline:2px solid #667eea;outline-offset:2px}.form-group input:focus-visible{outline:none}:root{--header-height:70px;--footer-height:auto}[data-theme=dark]{--dark-bg:#0a0c23;--dark-card:#0f1233;--dark-border:#1a1f4d;--text-primary:#fff;--text-secondary:#a0aec0;--text-muted:#a1b0c8;--user-message-bg:linear-gradient(135deg,#667eea,#667eea);--ai-message-bg:#667eea1a;--hover-bg:#667eea26;--active-bg:#667eea40;--input-bg:#667eea0d;--overlay-bg:#00000080;--button-bg:#667eea0d;--button-hover-bg:#667eea33;--prompt-bg:#667eea0d;--prompt-border:#667eea33;--accent-color:#667eea}[data-theme=light]{--dark-bg:#f7fafc;--dark-card:#fff;--dark-border:#e2e8f0;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#a0aec0;--user-message-bg:linear-gradient(135deg,#667eea,#764ba2);--ai-message-bg:#f7fafc;--hover-bg:#edf2f7;--active-bg:#667eea1a;--input-bg:#fff;--overlay-bg:#0000004d;--button-bg:#f7fafc;--button-hover-bg:#667eea1a;--prompt-bg:#fff;--prompt-border:#e2e8f0}.chat-container{background:var(--dark-bg);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;height:100vh;transition:background-color .3s ease}.chat-sidebar{background:var(--dark-card);border-right:1px solid var(--dark-border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease,background-color .3s ease,border-color .3s ease;width:280px;z-index:200}.chat-sidebar.open{transform:translateX(0)}.sidebar-header{border-bottom:1px solid var(--dark-border);padding:24px;padding:calc(var(--spacing-unit)*3)}.sidebar-header h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px;margin:0 0 calc(var(--spacing-unit)*2) 0}.new-chat-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;gap:calc(var(--spacing-unit)*1);padding:12px 16px;padding:calc(var(--spacing-unit)*1.5) calc(var(--spacing-unit)*2);transition:all .3s ease;width:100%}.new-chat-button:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-1px)}.sidebar-content{flex:1 1;overflow-y:auto;padding:8px;padding:calc(var(--spacing-unit)*1)}.chat-history-item{align-items:center;border-radius:12px;border-radius:var(--border-radius);cursor:pointer;display:flex;justify-content:space-between;margin-bottom:8px;margin-bottom:calc(var(--spacing-unit)*1);padding:16px;padding:calc(var(--spacing-unit)*2);position:relative;transition:all .3s ease}.chat-history-item:hover{background:var(--hover-bg)}.chat-history-item.active{background:var(--active-bg);border:1px solid #667eea4d}.chat-preview{flex:1 1;min-width:0}.chat-preview p{color:var(--text-primary);font-size:14px;margin:0 0 4px;margin:0 0 calc(var(--spacing-unit)*.5) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-timestamp,.remove-file-button{color:var(--text-muted);font-size:12px}.remove-file-button{align-items:center;background:#ffffff14;border:1px solid var(--dark-border);border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-weight:600;height:20px;justify-content:center;line-height:1;margin-left:4px;margin-left:calc(var(--spacing-unit)*.5);padding:0;transition:all .3s ease;width:20px}.remove-file-button:hover{background:#ff6b6b33;border-color:#ff6b6b80;color:#ff6b6b;transform:scale(1.1)}.remove-file-button:active{transform:scale(.95)}.delete-chat-button{background:none;border:none;border-radius:6px;border-radius:calc(var(--border-radius)*.5);color:var(--text-muted);cursor:pointer;flex-shrink:0;margin-left:8px;margin-left:calc(var(--spacing-unit)*1);opacity:0;padding:4px;padding:calc(var(--spacing-unit)*.5);transition:all .3s ease}.chat-history-item:hover .delete-chat-button{opacity:1}.delete-chat-button:hover{background:var(--hover-bg);color:#ff6b6b}.chat-main-wrapper{display:flex;flex:1 1;flex-direction:column;min-width:0;position:relative;transition:margin-left .3s ease,width .3s ease;width:100%}.sidebar-overlay{background:var(--overlay-bg);bottom:0;display:none;left:0;position:fixed;right:0;top:0;transition:background-color .3s ease;z-index:150}.sidebar-overlay.open{display:block}.chat-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--dark-card);border-bottom:1px solid var(--dark-border);height:70px;height:var(--header-height);justify-content:space-between;padding:0 24px;padding:0 calc(var(--spacing-unit)*3);position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:100}.chat-header,.header-left{align-items:center;display:flex}.header-left .chat-title h1{color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.2;margin:0}.status-indicator{align-items:center;color:#51cf66;display:flex;font-size:12px;font-weight:500;gap:4px;gap:calc(var(--spacing-unit)*.5)}.status-indicator:before{animation:pulse 2s infinite;background:#51cf66;border-radius:50%;content:"";height:8px;width:8px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.header-right{gap:16px;gap:calc(var(--spacing-unit)*2)}.header-right,.user-info{align-items:center;display:flex}.user-info{gap:12px;gap:calc(var(--spacing-unit)*1.5)}.user-avatar{border:2px solid var(--dark-border);border-radius:50%;height:36px;width:36px}.user-name{color:var(--text-primary);font-size:14px;font-weight:500}.admin-button,.logout-button,.theme-toggle{align-items:center;background:var(--button-bg);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;overflow:hidden;padding:8px;padding:calc(var(--spacing-unit)*1);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.admin-button:before,.logout-button:before,.theme-toggle:before{background:var(--button-hover-bg);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease;width:0}.admin-button:hover,.logout-button:hover,.theme-toggle:hover{background:var(--button-hover-bg);border-color:#667eea80;box-shadow:0 4px 12px #667eea33;color:#667eea;transform:translateY(-2px)}.admin-button:hover:before,.logout-button:hover:before,.theme-toggle:hover:before{height:100%;width:100%}.admin-button:active,.logout-button:active,.theme-toggle:active{transform:translateY(0) scale(.95)}.admin-button svg,.logout-button svg,.theme-toggle svg{position:relative;transition:transform .3s ease;z-index:1}.theme-toggle:hover svg{transform:rotate(180deg)}.admin-button:hover svg{transform:scale(1.1)}.logout-button:hover svg{transform:translateX(2px)}.chat-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden;transition:all .3s ease}.messages-container{flex:1 1;overflow-y:auto;padding:24px;padding:calc(var(--spacing-unit)*3);scroll-behavior:smooth}.empty-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0 auto;max-width:500px;text-align:center}.empty-icon{font-size:64px;margin-bottom:24px;margin-bottom:calc(var(--spacing-unit)*3);opacity:.7}.empty-state h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 16px;margin:0 0 calc(var(--spacing-unit)*2) 0}.empty-state p{color:var(--text-secondary);font-size:16px;line-height:1.6;margin:0 0 32px;margin:0 0 calc(var(--spacing-unit)*4) 0}.suggested-prompts{display:flex;flex-direction:column;gap:12px;gap:calc(var(--spacing-unit)*1.5);width:100%}.prompt-button{background:var(--prompt-bg)!important;border:1px solid var(--prompt-border)!important;border-radius:12px;border-radius:var(--border-radius);color:var(--text-primary)!important;cursor:pointer;font-size:14px;padding:16px 24px;padding:calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*3);text-align:left;transition:all .3s ease}.prompt-button:hover{background:var(--active-bg)!important;border-color:#667eea!important;transform:translateY(-1px)}.message{animation:fadeInUp .3s ease;display:flex;margin-bottom:24px;margin-bottom:calc(var(--spacing-unit)*3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin:0 12px;margin:0 calc(var(--spacing-unit)*1.5)}.ai-avatar,.message-avatar img{border:2px solid var(--dark-border);border-radius:50%;height:32px;width:32px}.ai-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);display:flex;font-size:16px;justify-content:center}.message-content{flex:1 1;max-width:70%}.message.user .message-content{align-items:flex-end;display:flex;flex-direction:column}.message-bubble{word-wrap:break-word;border-radius:18px;border-radius:calc(var(--border-radius)*1.5);line-height:1.5;margin-bottom:4px;margin-bottom:calc(var(--spacing-unit)*.5);padding:16px 24px;padding:calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*3)}.message-bubble ol,.message-bubble ul{margin:.5em 0;padding-left:1.4em}.message-bubble li{margin-bottom:.25em}.message.user .message-bubble{background:var(--user-message-bg);border-bottom-right-radius:8px;border-bottom-right-radius:calc(var(--spacing-unit)*1);color:#fff}.message.ai .message-bubble{background:var(--ai-message-bg);border:1px solid var(--dark-border);border-bottom-left-radius:8px;border-bottom-left-radius:calc(var(--spacing-unit)*1);border-radius:10px;box-shadow:0 2px 6px #00000040;color:var(--text-primary);font-size:.95rem;line-height:1.6;overflow-x:auto;padding:12px;padding:calc(var(--spacing-unit)*1.5);transition:background .25s ease,color .25s ease;white-space:pre-wrap}.message.ai .message-bubble h1,.message.ai .message-bubble h2,.message.ai .message-bubble h3{color:var(--text-primary);font-weight:600;margin-bottom:.5rem;margin-top:1rem}.message.ai .message-bubble ul{margin:.5rem 0;padding-left:16px;padding-left:calc(var(--spacing-unit)*2)}.message.ai .message-bubble li{margin-bottom:4px}.message.ai .message-bubble strong{color:var(--accent-color);font-weight:600}.message.ai .message-bubble hr{border:none;border-top:1px solid var(--dark-border);margin:1rem 0}.message.ai .message-bubble table{border-collapse:collapse;width:100%}.message.ai .message-bubble table td,.message.ai .message-bubble table th{border:1px solid var(--dark-border);padding:6px}.message .message-bubble a{border-bottom:1px solid #0000;color:var(--accent-color);cursor:pointer;font-weight:500;text-decoration:none;transition:color .25s ease,border-color .25s ease}.message .message-bubble a:hover{border-bottom-color:var(--accent-color);filter:brightness(1.2);text-decoration:none}.message .message-bubble a:visited{color:var(--accent-color);opacity:.88}.message .message-bubble a:focus-visible{border-radius:4px;outline:2px dashed var(--accent-color);outline-offset:3px}.message .message-bubble a[href^=http]:after{content:" ↗";font-size:.85em;opacity:.8;transition:opacity .25s}.message .message-bubble a:hover:after{opacity:1}.message-bubble p{font-size:15px;margin:0}.message-timestamp{color:var(--text-muted);font-size:12px;padding:0 8px;padding:0 calc(var(--spacing-unit)*1)}.message-bubble.typing{background:var(--ai-message-bg);border:1px solid var(--dark-border);padding:16px;padding:calc(var(--spacing-unit)*2)}.typing-indicator{align-items:center;display:flex;gap:4px}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:var(--text-secondary);border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-footer{background:var(--dark-card);border-top:1px solid var(--dark-border);padding:24px;padding:calc(var(--spacing-unit)*3);transition:all .3s ease}.input-container{margin:0 auto;max-width:1000px}.input-wrapper{align-items:flex-end;background:var(--input-bg)!important;border:1px solid var(--dark-border)!important;border-radius:18px;border-radius:calc(var(--border-radius)*1.5);display:flex;gap:12px;gap:calc(var(--spacing-unit)*1.5);padding:12px;padding:calc(var(--spacing-unit)*1.5);position:relative;transition:all .3s ease}.input-wrapper:focus-within{background:#667eea0d!important;border-color:#667eea99!important;box-shadow:0 0 0 3px #667eea1a}.main-chat-drag-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:500}.main-drag-content{animation:scaleIn .3s ease;background:#667eea1a;border:2px dashed #667eeacc;border-radius:24px;border-radius:calc(var(--border-radius)*2);max-width:300px;padding:32px;padding:calc(var(--spacing-unit)*4);text-align:center}.main-drag-content .drag-icon{animation:bounce 1s infinite;font-size:40px;margin-bottom:16px;margin-bottom:calc(var(--spacing-unit)*2);opacity:.9}.main-drag-content .drag-text{color:#667eea;font-size:16px;font-weight:600;margin-bottom:4px;margin-bottom:calc(var(--spacing-unit)*.5)}.main-drag-content .drag-subtext{color:var(--text-secondary);font-size:13px;opacity:.8}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.message-input{background:#0000!important;border:none;color:var(--text-primary)!important;flex:1 1;font-family:inherit;font-size:15px;line-height:1.5;max-height:120px;min-height:20px;outline:none;overflow-y:auto;resize:none}.message-input::placeholder{color:var(--text-muted)!important}.attachment-button,.send-button{align-items:center;background:none;border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:8px;padding:calc(var(--spacing-unit)*1);transition:all .3s ease;width:40px}.attachment-button:hover,.send-button:hover{background:var(--hover-bg);border-color:#667eea80;color:var(--text-primary)}.send-button.active{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-color:#0000;color:#fff}.send-button.active:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.send-button:disabled{cursor:not-allowed;opacity:.5}.send-button:disabled:hover{background:none;border-color:var(--dark-border);box-shadow:none;color:var(--text-secondary);transform:none}.file-previews{display:flex;gap:8px;gap:calc(var(--spacing-unit)*1);margin-bottom:12px;margin-bottom:calc(var(--spacing-unit)*1.5);max-width:100%;overflow-x:auto;padding:4px 0;padding:calc(var(--spacing-unit)*.5) 0;scrollbar-color:var(--dark-border) #0000;scrollbar-width:thin}.file-previews::-webkit-scrollbar{height:4px}.file-previews::-webkit-scrollbar-track{background:#0000}.file-previews::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:2px}.file-preview{align-items:center;background:var(--hover-bg);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);display:flex;flex-shrink:0;gap:8px;gap:calc(var(--spacing-unit)*1);max-width:280px;min-width:220px;padding:12px;padding:calc(var(--spacing-unit)*1.5);position:relative;transition:all .3s ease}.file-preview:hover{background:var(--active-bg);border-color:#667eea4d}.file-icon{color:#667eea;flex-shrink:0;font-size:20px;text-align:center;width:20px}.file-info{flex:1 1;margin-right:4px;margin-right:calc(var(--spacing-unit)*.5);min-width:0}.file-name{color:var(--text-primary);font-size:13px;font-weight:500;margin:0 0 2px;margin:0 0 calc(var(--spacing-unit)*.25) 0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:11px;margin:0}.message-files{display:flex;flex-direction:column;gap:6px;gap:calc(var(--spacing-unit)*.75);margin-top:8px;margin-top:calc(var(--spacing-unit)*1)}.message-file{align-items:center;background:var(--hover-bg);border:1px solid var(--dark-border);border-radius:9px;border-radius:calc(var(--border-radius)*.75);display:flex;font-size:13px;gap:8px;gap:calc(var(--spacing-unit)*1);padding:8px;padding:calc(var(--spacing-unit)*1);transition:all .3s ease}.message-file:hover{background:var(--active-bg);border-color:#667eea4d}.message-file .file-icon{font-size:16px}.message-file .file-info .file-name{font-size:12px}.message-file .file-info .file-size{font-size:10px}.file-error{animation:slideDown .3s ease;background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:12px;border-radius:var(--border-radius);color:#ff6b6b;font-size:13px;margin-bottom:12px;margin-bottom:calc(var(--spacing-unit)*1.5);padding:12px;padding:calc(var(--spacing-unit)*1.5)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.chat-sidebar{background:var(--dark-card);border-right:1px solid var(--dark-border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease,background-color .3s ease,border-color .3s ease;width:280px;z-index:200}.chat-sidebar.open{transform:translateX(0)}.sidebar-header{border-bottom:1px solid var(--dark-border);padding:24px;padding:calc(var(--spacing-unit)*3)}.sidebar-header h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px;margin:0 0 calc(var(--spacing-unit)*2) 0}.new-chat-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;gap:calc(var(--spacing-unit)*1);padding:12px 16px;padding:calc(var(--spacing-unit)*1.5) calc(var(--spacing-unit)*2);transition:all .3s ease;width:100%}.new-chat-button:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-1px)}.sidebar-content{flex:1 1;overflow-y:auto;padding:8px;padding:calc(var(--spacing-unit)*1)}.chat-history-item{align-items:center;border-radius:12px;border-radius:var(--border-radius);cursor:pointer;display:flex;justify-content:space-between;margin-bottom:8px;margin-bottom:calc(var(--spacing-unit)*1);padding:16px;padding:calc(var(--spacing-unit)*2);position:relative;transition:all .3s ease}.chat-history-item:hover{background:var(--hover-bg)}.chat-history-item.active{background:var(--active-bg);border:1px solid #667eea4d}.chat-preview{flex:1 1;min-width:0}.chat-preview p{color:var(--text-primary);font-size:14px;margin:0 0 4px;margin:0 0 calc(var(--spacing-unit)*.5) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-timestamp,.remove-file-button{color:var(--text-muted);font-size:12px}.remove-file-button{align-items:center;background:#ffffff14;border:1px solid var(--dark-border);border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-weight:600;height:20px;justify-content:center;line-height:1;margin-left:4px;margin-left:calc(var(--spacing-unit)*.5);padding:0;transition:all .3s ease;width:20px}.remove-file-button:hover{background:#ff6b6b33;border-color:#ff6b6b80;color:#ff6b6b;transform:scale(1.1)}.remove-file-button:active{transform:scale(.95)}.delete-chat-button{background:none;border:none;border-radius:6px;border-radius:calc(var(--border-radius)*.5);color:var(--text-muted);cursor:pointer;flex-shrink:0;margin-left:8px;margin-left:calc(var(--spacing-unit)*1);opacity:0;padding:4px;padding:calc(var(--spacing-unit)*.5);transition:all .3s ease}.chat-history-item:hover .delete-chat-button{opacity:1}.delete-chat-button:hover{background:var(--hover-bg);color:#ff6b6b}.chat-main-wrapper{display:flex;flex:1 1;flex-direction:column;min-width:0;position:relative;transition:margin-left .3s ease,width .3s ease;width:100%}.sidebar-overlay{background:var(--overlay-bg);bottom:0;display:none;left:0;position:fixed;right:0;top:0;transition:background-color .3s ease;z-index:150}.sidebar-overlay.open{display:block}.chat-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--dark-card);border-bottom:1px solid var(--dark-border);height:70px;height:var(--header-height);justify-content:space-between;padding:0 24px;padding:0 calc(var(--spacing-unit)*3);position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:100}.chat-header,.header-left{align-items:center;display:flex}.header-left .chat-title h1{color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.2;margin:0}.status-indicator{align-items:center;color:#51cf66;display:flex;font-size:12px;font-weight:500;gap:4px;gap:calc(var(--spacing-unit)*.5)}.status-indicator:before{animation:pulse 2s infinite;background:#51cf66;border-radius:50%;content:"";height:8px;width:8px}.header-right{gap:16px;gap:calc(var(--spacing-unit)*2)}.header-right,.user-info{align-items:center;display:flex}.user-info{gap:12px;gap:calc(var(--spacing-unit)*1.5)}.user-avatar{border:2px solid var(--dark-border);border-radius:50%;height:36px;width:36px}.user-name{color:var(--text-primary);font-size:14px;font-weight:500}.chat-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden;transition:all .3s ease}.messages-container{flex:1 1;overflow-y:auto;padding:24px;padding:calc(var(--spacing-unit)*3);scroll-behavior:smooth}.empty-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0 auto;max-width:500px;text-align:center}.empty-icon{font-size:64px;margin-bottom:24px;margin-bottom:calc(var(--spacing-unit)*3);opacity:.7}.empty-state h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 16px;margin:0 0 calc(var(--spacing-unit)*2) 0}.empty-state p{color:var(--text-secondary);font-size:16px;line-height:1.6;margin:0 0 32px;margin:0 0 calc(var(--spacing-unit)*4) 0}.suggested-prompts{display:flex;flex-direction:column;gap:12px;gap:calc(var(--spacing-unit)*1.5);width:100%}.prompt-button{background:var(--prompt-bg)!important;border:1px solid var(--prompt-border)!important;border-radius:12px;border-radius:var(--border-radius);color:var(--text-primary)!important;cursor:pointer;font-size:14px;padding:16px 24px;padding:calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*3);text-align:left;transition:all .3s ease}.prompt-button:hover{background:var(--active-bg)!important;border-color:#667eea!important;transform:translateY(-1px)}.message{animation:fadeInUp .3s ease;display:flex;margin-bottom:24px;margin-bottom:calc(var(--spacing-unit)*3)}.message.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin:0 12px;margin:0 calc(var(--spacing-unit)*1.5)}.ai-avatar,.message-avatar img{border:2px solid var(--dark-border);border-radius:50%;height:32px;width:32px}.ai-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);display:flex;font-size:16px;justify-content:center}.message-content{flex:1 1;max-width:70%}.message.user .message-content{align-items:flex-end;display:flex;flex-direction:column}.message-bubble{word-wrap:break-word;border-radius:18px;border-radius:calc(var(--border-radius)*1.5);line-height:1.5;margin-bottom:4px;margin-bottom:calc(var(--spacing-unit)*.5);padding:16px 24px;padding:calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*3)}.message.user .message-bubble{background:var(--user-message-bg);border-bottom-right-radius:8px;border-bottom-right-radius:calc(var(--spacing-unit)*1);color:#fff}.message.ai .message-bubble{background:var(--ai-message-bg);border:1px solid var(--dark-border);border-bottom-left-radius:8px;border-bottom-left-radius:calc(var(--spacing-unit)*1);color:var(--text-primary)}.message-bubble p{font-size:15px;margin:0}.message-timestamp{color:var(--text-muted);font-size:12px;padding:0 8px;padding:0 calc(var(--spacing-unit)*1)}.message-bubble.typing{background:var(--ai-message-bg);border:1px solid var(--dark-border);padding:16px;padding:calc(var(--spacing-unit)*2)}.typing-indicator{align-items:center;display:flex;gap:4px}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite;background:var(--text-secondary);border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-footer{background:var(--dark-card);border-top:1px solid var(--dark-border);padding:24px;padding:calc(var(--spacing-unit)*3);transition:all .3s ease}.input-container{margin:0 auto;max-width:1000px}.input-wrapper{align-items:flex-end;background:var(--input-bg)!important;border:1px solid var(--dark-border)!important;border-radius:18px;border-radius:calc(var(--border-radius)*1.5);display:flex;gap:12px;gap:calc(var(--spacing-unit)*1.5);padding:12px;padding:calc(var(--spacing-unit)*1.5);position:relative;transition:all .3s ease}.input-wrapper:focus-within{background:#667eea0d!important;border-color:#667eea99!important;box-shadow:0 0 0 3px #667eea1a}.message-input{background:#0000!important;border:none;color:var(--text-primary)!important;flex:1 1;font-family:inherit;font-size:15px;line-height:1.5;max-height:120px;min-height:20px;outline:none;overflow-y:auto;resize:none}.message-input::placeholder{color:var(--text-muted)!important}.attachment-button,.send-button{align-items:center;background:none;border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:8px;padding:calc(var(--spacing-unit)*1);transition:all .3s ease;width:40px}.attachment-button:hover,.send-button:hover{background:var(--hover-bg);border-color:#667eea80;color:var(--text-primary)}.send-button.active{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-color:#0000;color:#fff}.send-button.active:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.send-button:disabled{cursor:not-allowed;opacity:.5}.send-button:disabled:hover{background:none;border-color:var(--dark-border);box-shadow:none;color:var(--text-secondary);transform:none}.file-preview,.file-previews{gap:6px;gap:calc(var(--spacing-unit)*.75)}.file-preview{padding:6px;padding:calc(var(--spacing-unit)*.75)}.file-info .file-name{font-size:12px}.file-info .file-size{font-size:10px}.drag-text{font-size:13px;padding:12px;padding:calc(var(--spacing-unit)*1.5)}.message-file{font-size:12px;padding:6px;padding:calc(var(--spacing-unit)*.75)}}@media (max-width:480px){.sidebar-header{padding:16px;padding:calc(var(--spacing-unit)*2)}.chat-sidebar{width:260px}.header-right{gap:8px;gap:calc(var(--spacing-unit)*1)}.user-avatar{height:32px;width:32px}.ai-avatar,.message-avatar img{height:28px;width:28px}.ai-avatar{font-size:14px}.message-content{max-width:90%}}@media (min-width:769px){.chat-main-wrapper.sidebar-open{margin-left:280px;width:calc(100% - 280px)}.sidebar-overlay{display:none!important}}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#0000}.messages-container::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#0000}.sidebar-content::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.admin-button:focus-visible,.attachment-button:focus-visible,.delete-chat-button:focus-visible,.logout-button:focus-visible,.new-chat-button:focus-visible,.prompt-button:focus-visible,.send-button:focus-visible,.sidebar-toggle:focus-visible,.theme-toggle:focus-visible{outline:2px solid #667eea;outline-offset:2px}.message-input:focus-visible{outline:none}.sidebar-toggle{align-items:center;background:var(--hover-bg);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;margin-right:16px;margin-right:calc(var(--spacing-unit)*2);overflow:hidden;padding:12px;padding:calc(var(--spacing-unit)*1.5);position:relative;transition:all .3s ease}.sidebar-toggle:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.sidebar-toggle:hover{background:#667eea1a;border-color:#667eea4d;box-shadow:0 4px 12px #667eea33;color:var(--text-primary);transform:translateY(-1px)}.sidebar-toggle:hover:before{left:100%}.sidebar-toggle:active{transform:translateY(0)}.model-selector-container{display:inline-block;position:relative}.model-selector-button{align-items:center;background:none;border:none;border-radius:12px;border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;display:flex;gap:6px;gap:calc(var(--spacing-unit)*.75);margin-left:24px;margin-left:calc(var(--spacing-unit)*3);padding:4px 8px;padding:calc(var(--spacing-unit)*.5) calc(var(--spacing-unit)*1);position:relative;transition:all .3s ease}.model-selector-button:hover{background:var(--hover-bg)}.model-selector-button h2{color:var(--text-primary);font-size:18px;font-weight:500;line-height:1.2;margin:0}.current-model{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:6px;border-radius:calc(var(--border-radius)*.5);color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 8px;padding:calc(var(--spacing-unit)*.5) calc(var(--spacing-unit)*1);text-transform:uppercase}.dropdown-arrow{transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.model-dropdown{animation:fadeInUp .2s ease;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 10px 40px #0000001a;box-shadow:var(--shadow-soft);left:0;margin-top:4px;margin-top:calc(var(--spacing-unit)*.5);min-width:220px;overflow:hidden;position:absolute;top:100%;z-index:1000}.model-option{align-items:center;background:none;border:none;border-bottom:1px solid var(--dark-border);color:var(--text-primary);cursor:pointer;display:flex;gap:8px;gap:calc(var(--spacing-unit)*1);justify-content:space-between;padding:12px 16px;padding:calc(var(--spacing-unit)*1.5) calc(var(--spacing-unit)*2);text-align:left;transition:all .3s ease;width:100%}.model-option:last-child{border-bottom:none}.model-option:hover{background:var(--hover-bg)}.model-option.active{background:var(--active-bg)}.model-info{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:2px;gap:calc(var(--spacing-unit)*.25)}.model-name{color:var(--text-primary);font-size:14px;font-weight:600}.model-description{color:var(--text-secondary);font-size:12px;line-height:1.3}.no-chats-message{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:32px 16px;padding:calc(var(--spacing-unit)*4) calc(var(--spacing-unit)*2);text-align:center}.no-chats-icon{font-size:48px;margin-bottom:16px;margin-bottom:calc(var(--spacing-unit)*2);opacity:.5}.no-chats-message p{font-size:14px;line-height:1.4;margin:0 0 16px;margin:0 0 calc(var(--spacing-unit)*2) 0}@media (max-width:768px){.model-selector-button{padding:4px;padding:calc(var(--spacing-unit)*.5)}.model-selector-button h1{font-size:18px}.current-model{font-size:11px;padding:2px 6px;padding:calc(var(--spacing-unit)*.25) calc(var(--spacing-unit)*.75)}.model-dropdown{left:-50%;min-width:200px;transform:translateX(-25%)}.model-option{padding:10px 12px;padding:calc(var(--spacing-unit)*1.25) calc(var(--spacing-unit)*1.5)}}@media (max-width:480px){.model-selector-button h1{font-size:16px}.current-model{font-size:10px;padding:1.6px 4px;padding:calc(var(--spacing-unit)*.2) calc(var(--spacing-unit)*.5)}.model-dropdown{min-width:180px}.model-name{font-size:13px}.model-description{font-size:11px}}.model-option:focus-visible,.model-selector-button:focus-visible{outline:2px solid #667eea;outline-offset:2px}:root{--secondary-gradient:linear-gradient(135deg,#f093fb,#f5576c);--shadow-soft:0 10px 40px #0000001a}:root[data-theme=dark]{--dark-bg:#0f0f23;--dark-card:#1a1a2e;--dark-border:#2d3748;--text-primary:#fff;--text-secondary:#a0aec0;--text-muted:#718096;--hover-bg:#ffffff14;--active-bg:#667eea26;--input-bg:#ffffff0d;--button-bg:#ffffff0d;--button-hover-bg:#667eea33}:root[data-theme=light]{--dark-bg:#f7fafc;--dark-card:#fff;--dark-border:#e2e8f0;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#a0aec0;--hover-bg:#edf2f7;--active-bg:#667eea1a;--input-bg:#fff;--button-bg:#f7fafc;--button-hover-bg:#667eea1a}.admin-dashboard{background:var(--dark-bg);min-height:100vh;padding:32px;padding:calc(var(--spacing-unit)*4);transition:background-color .3s ease}.admin-header{margin-bottom:32px;margin-bottom:calc(var(--spacing-unit)*4)}.header-content{align-items:flex-start;display:flex;gap:16px;gap:calc(var(--spacing-unit)*2);justify-content:space-between}.header-text{flex:1 1}.header-controls{gap:12px;gap:calc(var(--spacing-unit)*1.5)}.chat-button,.header-controls{align-items:center;display:flex}.chat-button{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:14px;font-weight:600;gap:8px;gap:calc(var(--spacing-unit)*1);padding:12px 20px;padding:calc(var(--spacing-unit)*1.5) calc(var(--spacing-unit)*2.5);transition:all .3s ease}.chat-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.add-user-button{align-items:center;background:linear-gradient(135deg,#43e97b,#38f9d7);border:none;border-radius:12px;border-radius:var(--border-radius);color:#1a202c;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;gap:calc(var(--spacing-unit)*1);padding:12px 20px;padding:calc(var(--spacing-unit)*1.5) calc(var(--spacing-unit)*2.5);transition:all .3s ease}.add-user-button:hover{box-shadow:0 4px 12px #43e97b66;transform:translateY(-2px)}.new-user-row{background:#43e97b0d!important;border-left:3px solid #43e97b}.theme-toggle{align-items:center;background:var(--button-bg);border:1px solid var(--dark-border);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .3s ease;width:44px}.theme-toggle:hover{background:var(--button-hover-bg);border-color:#667eea80;color:#667eea;transform:scale(1.05)}.admin-header h1{color:var(--text-primary);font-size:32px;font-weight:700;margin:0 0 8px;margin:0 0 calc(var(--spacing-unit)*1) 0;transition:color .3s ease}.admin-header p{color:var(--text-secondary);font-size:16px;margin:0;transition:color .3s ease}.admin-content{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 10px 40px #0000001a;box-shadow:var(--shadow-soft);overflow:hidden;transition:all .3s ease}.table-toolbar{border-bottom:1px solid var(--dark-border);display:flex;justify-content:flex-end;padding:16px 24px;padding:calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*3)}.users-table-wrapper{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:var(--hover-bg);border-bottom:2px solid var(--dark-border);transition:background-color .3s ease}.users-table th{color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 24px;padding:calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*3);text-align:left;text-transform:uppercase;transition:color .3s ease}.users-table tbody tr{border-bottom:1px solid var(--dark-border);transition:all .3s ease}.users-table tbody tr:hover{background:var(--hover-bg)}.users-table tbody tr.editing{background:var(--active-bg)}.users-table td{color:var(--text-secondary);font-size:14px;padding:20px 24px;padding:calc(var(--spacing-unit)*2.5) calc(var(--spacing-unit)*3);transition:color .3s ease}.user-name-cell{align-items:center;color:var(--text-primary);display:flex;font-weight:500;gap:12px;gap:calc(var(--spacing-unit)*1.5)}.user-avatar-small{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.role-badge{border-radius:6px;border-radius:calc(var(--border-radius)*.5);display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;padding:calc(var(--spacing-unit)*.75) calc(var(--spacing-unit)*1.5);text-transform:uppercase;transition:all .3s ease}.role-badge.admin{background:#667eea26;border:1px solid #667eea4d;color:#667eea}.role-badge.user{background:rgba(213,234,80,.153);border:1px solid #d5ea504d;color:var(--text-secondary)}.delete-button,.edit-button{align-items:center;background:var(--button-bg);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;gap:calc(var(--spacing-unit)*.75);padding:8px 16px;padding:calc(var(--spacing-unit)*1) calc(var(--spacing-unit)*2);transition:all .3s ease}.edit-button:hover{background:var(--button-hover-bg);border-color:#667eea80;color:#667eea;transform:translateY(-1px)}.delete-button:hover{background:#f839394d;border-color:#f8393980;color:#ff4d4d;transform:translateY(-1px)}.delete-button svg,.edit-button svg{flex-shrink:0}.edit-input,.edit-select{background:var(--input-bg);border:1px solid var(--dark-border);border-radius:12px;border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;padding:calc(var(--spacing-unit)*1.25) calc(var(--spacing-unit)*1.5);transition:all .3s ease;width:100%}.edit-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23a0aec0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-position:right calc(var(--spacing-unit)*1.5) center;background-repeat:no-repeat;padding-right:32px;padding-right:calc(var(--spacing-unit)*4)}.edit-select option{background:var(--dark-card);color:var(--text-primary);padding:12px;padding:calc(var(--spacing-unit)*1.5)}.edit-input:focus,.edit-select:focus{background:#667eea0d;border-color:#667eea99;box-shadow:0 0 0 3px #667eea1a;outline:none}.edit-select{cursor:pointer}.action-buttons{display:flex;gap:8px;gap:calc(var(--spacing-unit)*1)}.cancel-button,.save-button{align-items:center;border:1px solid #0000;border-radius:12px;border-radius:var(--border-radius);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;gap:calc(var(--spacing-unit)*.75);padding:8px 16px;padding:calc(var(--spacing-unit)*1) calc(var(--spacing-unit)*2);transition:all .3s ease}.save-button{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);color:#fff}.save-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.cancel-button{background:var(--button-bg);border-color:var(--dark-border);color:var(--text-secondary)}.cancel-button:hover{background:var(--button-hover-bg);border-color:#ff6b6b80;color:#ff6b6b}.cancel-button svg,.save-button svg{flex-shrink:0}@media (max-width:768px){.admin-dashboard{padding:16px;padding:calc(var(--spacing-unit)*2)}.admin-header h1{font-size:24px}.admin-header p{font-size:14px}.users-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.users-table{min-width:600px}.users-table td,.users-table th{font-size:13px;padding:12px 16px;padding:calc(var(--spacing-unit)*1.5) calc(var(--spacing-unit)*2)}.user-avatar-small{font-size:12px;height:32px;width:32px}.role-badge{font-size:11px;padding:4px 8px;padding:calc(var(--spacing-unit)*.5) calc(var(--spacing-unit)*1)}.cancel-button,.edit-button,.save-button{font-size:13px;padding:6px 12px;padding:calc(var(--spacing-unit)*.75) calc(var(--spacing-unit)*1.5)}.header-content{align-items:stretch;flex-direction:column}.header-controls{justify-content:flex-end}.chat-button{font-size:13px;padding:10px 16px;padding:calc(var(--spacing-unit)*1.25) calc(var(--spacing-unit)*2)}.theme-toggle{height:40px;width:40px}}@media (max-width:480px){.admin-dashboard{padding:12px;padding:calc(var(--spacing-unit)*1.5)}.admin-header{margin-bottom:24px;margin-bottom:calc(var(--spacing-unit)*3)}.admin-header h1{font-size:20px}.users-table{min-width:550px}.action-buttons{flex-direction:column;gap:6px;gap:calc(var(--spacing-unit)*.75)}.cancel-button,.save-button{justify-content:center;width:100%}}.users-table-wrapper::-webkit-scrollbar{height:6px}.users-table-wrapper::-webkit-scrollbar-track{background:#0000}.users-table-wrapper::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:3px}.users-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.cancel-button:focus-visible,.edit-button:focus-visible,.save-button:focus-visible{outline:2px solid #667eea;outline-offset:2px}.edit-input:focus-visible,.edit-select:focus-visible{outline:none}.tabs-header{background:var(--dark-card);border-bottom:1px solid var(--dark-border);display:flex;gap:calc(var(--spacing-unit)*1);padding:calc(var(--spacing-unit)*2)}.tab-button{background:var(--button-bg);border:1px solid var(--dark-border);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:calc(var(--spacing-unit)*1.25) calc(var(--spacing-unit)*2.5);transition:all .3s ease}.tab-button:hover{background:var(--button-hover-bg);color:var(--text-primary)}.tab-button.active{background:var(--primary-gradient);border-color:#0000;box-shadow:0 4px 14px #667eea66;color:#fff}.tabs-content{padding:calc(var(--spacing-unit)*2.5)}.documents-table-wrapper{margin-bottom:calc(var(--spacing-unit)*3);overflow-x:auto}.documents-table{border-collapse:collapse;width:100%}.documents-table thead{background:var(--hover-bg);border-bottom:2px solid var(--dark-border)}.documents-table th{color:var(--text-primary);font-size:13px;font-weight:700;letter-spacing:.5px;padding:calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*3);text-align:left;text-transform:uppercase}.documents-table td{color:var(--text-secondary);font-size:14px;padding:calc(var(--spacing-unit)*2.5) calc(var(--spacing-unit)*3)}.documents-table tbody tr{border-bottom:1px solid var(--dark-border);transition:background-color .3s ease}.documents-table tbody tr:hover{background:var(--hover-bg)}.no-documents{color:var(--text-muted);font-size:14px;padding:calc(var(--spacing-unit)*4);text-align:center}.documents-table .action-buttons{display:flex;gap:calc(var(--spacing-unit)*1)}.documents-table .delete-button,.view-button{background:var(--button-bg);border:1px solid var(--dark-border);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:calc(var(--spacing-unit)*1) calc(var(--spacing-unit)*2);transition:all .3s ease}.view-button:hover{background:var(--button-hover-bg);border-color:#667eea80;color:#667eea;transform:translateY(-1px)}.documents-table .delete-button:hover{background:#f839394d;border-color:#f8393980;color:#ff4d4d;transform:translateY(-1px)}.upload-area{display:block;margin-top:calc(var(--spacing-unit)*3)}.upload-area,.upload-box{position:relative;width:100%}.upload-box{align-items:center;background:var(--input-bg);border:2px dashed var(--dark-border);border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;isolation:isolate;justify-content:center;min-height:220px;transition:all .25s ease}.upload-box:hover{background:var(--hover-bg);border-color:#667eea99}.upload-box.drag-active{background:#667eea1f;border-color:#667eea}.upload-icon{color:#667eea;font-size:36px;margin-bottom:calc(var(--spacing-unit)*1.5)}.upload-box p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;text-align:center}.upload-link{color:#667eea;font-weight:600}.documents-table-wrapper::-webkit-scrollbar{height:6px}.documents-table-wrapper::-webkit-scrollbar-track{background:#0000}.documents-table-wrapper::-webkit-scrollbar-thumb{background:var(--dark-border);border-radius:3px}.documents-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:768px){.tabs-header{flex-direction:column}.documents-table{min-width:650px}.upload-box{padding:calc(var(--spacing-unit)*4)}}@media (max-width:480px){.tabs-content{padding:calc(var(--spacing-unit)*2)}.documents-table{min-width:600px}.documents-table .action-buttons{flex-direction:column}.documents-table .delete-button,.view-button{justify-content:center;width:100%}}.file-preview-docs{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:var(--border-radius);box-sizing:border-box;margin-top:calc(var(--spacing-unit)*3);padding:calc(var(--spacing-unit)*2.5);width:100%}.file-preview-docs h4{color:var(--text-primary);font-size:14px;font-weight:700;margin:0 0 calc(var(--spacing-unit)*2) 0}.file-preview-docs ul{list-style:none;margin:0;padding:0}.file-preview-docs li{grid-gap:calc(var(--spacing-unit)*2);align-items:center;border-bottom:1px solid var(--dark-border);display:grid;font-size:13px;gap:calc(var(--spacing-unit)*2);grid-template-columns:1fr auto auto;padding:calc(var(--spacing-unit)*1.5) 0}.file-preview-docs li:last-child{border-bottom:none}.file-preview-docs li span:first-child{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--text-muted);font-size:12px;white-space:nowrap}.file-preview-docs li button{background:#0000;border:none;color:#ff6b6b;cursor:pointer;font-size:14px;padding:4px}.file-preview-docs li button:hover{color:#ff4d4d}.upload-submit{background:var(--primary-gradient);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:calc(var(--spacing-unit)*2.5);padding:calc(var(--spacing-unit)*1.5);transition:all .3s ease;width:100%}.upload-submit:hover{box-shadow:0 6px 18px #667eea73;transform:translateY(-1px)}.progress-loader{background:#fff3;position:relative;top:50%;transform:translateY(-20%);width:100%}.progress,.progress-loader{border-radius:7px;height:5px}.progress{animation:loading1274 2s ease infinite;background:#904bf6;content:"";transition:.5s;width:0}:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--dark-bg:#0f0f23;--dark-card:#1a1a2e;--text-primary:#fff;--text-secondary:#a0a0a0;--spacing-unit:8px;--border-radius:12px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:#0f0f23;background:var(--dark-bg);color:#fff;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app,body,html{height:100%;scroll-behavior:smooth}.app{min-height:100vh;width:100%}.loading-container{background:#0f0f23;background:var(--dark-bg);flex-direction:column;gap:24px;gap:calc(var(--spacing-unit)*3);height:100vh}.loading-container,.loading-spinner{align-items:center;display:flex;justify-content:center}.loading-container .spinner{animation:spin 1s linear infinite;border:3px solid #667eea4d;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.loading-container p{color:#a0a0a0;color:var(--text-secondary);font-size:16px;font-weight:500}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app>*{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){body,html{-webkit-overflow-scrolling:touch;overflow:auto}.app{height:auto;min-height:100vh}}@media screen and (max-width:768px){input[type=email],input[type=password],textarea{font-size:16px}}@media (prefers-contrast:high){:root{--dark-bg:#000;--dark-card:#1a1a1a;--text-primary:#fff;--text-secondary:#ccc}}
/*# sourceMappingURL=main.16b6bdbb.css.map*/