.global-user-profile[data-v-6b83d729]{position:relative;z-index:1000}.global-user-profile.floating[data-v-6b83d729]{position:static;display:flex;align-items:center;gap:12px}.user-profile[data-v-6b83d729]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:20px;transition:all .3s ease;background:hsla(0,0%,100%,.9);box-shadow:0 2px 12px rgba(0,0,0,.08);border:1px solid hsla(0,0%,100%,.2);backdrop-filter:blur(10px)}.user-profile[data-v-6b83d729]:hover{background:hsla(0,0%,100%,.95);box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-1px)}.global-user-profile .user-avatar[data-v-6b83d729]{width:32px;height:32px;border-radius:50%;overflow:hidden;background-color:#e9ecef!important;display:flex;align-items:center;justify-content:center}.global-user-profile .user-avatar img[data-v-6b83d729]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.global-user-profile .user-avatar .avatar-placeholder[data-v-6b83d729]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#e9ecef!important;background:#e9ecef!important;color:#6c757d!important}.username[data-v-6b83d729]{font-weight:500;color:#333;font-size:14px}.user-menu[data-v-6b83d729]{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid #e9ecef;min-width:160px;z-index:9999;animation:fadeIn-6b83d729 .2s ease-out}@keyframes fadeIn-6b83d729{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item[data-v-6b83d729]{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .3s ease;font-size:14px;color:#333}.menu-item[data-v-6b83d729]:hover{background-color:#f8f9fa}.menu-item[data-v-6b83d729]:first-child{border-radius:8px 8px 0 0}.menu-item[data-v-6b83d729]:last-child{border-radius:0 0 8px 8px}.menu-item svg[data-v-6b83d729]{color:#666}.rotate[data-v-6b83d729]{transform:rotate(180deg);transition:transform .3s ease}.global-user-profile .theme-toggle-btn[data-v-6b83d729]{width:40px;height:40px;border-radius:50%;border:none;background:#f1f5f9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55),box-shadow .3s ease,background .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#f59e0b;position:relative;overflow:hidden;flex-shrink:0}.global-user-profile .theme-toggle-btn[data-v-6b83d729]:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.3) 0,transparent 70%);transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.global-user-profile .theme-toggle-btn[data-v-6b83d729]:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px rgba(245,158,11,.4);background:#e2e8f0}.global-user-profile .theme-toggle-btn[data-v-6b83d729]:hover:before{width:120%;height:120%}.global-user-profile .theme-toggle-btn[data-v-6b83d729]:active{transform:scale(.92) rotate(-5deg)}.global-user-profile .theme-icon[data-v-6b83d729]{transition:transform .4s cubic-bezier(.68,-.55,.265,1.55)}.global-user-profile .theme-toggle-btn:hover .theme-icon[data-v-6b83d729]{transform:rotate(1turn) scale(1.1)}.global-user-profile .theme-toggle-btn:active .theme-icon[data-v-6b83d729]{transform:rotate(1turn) scale(.9)}.success-toast[data-v-6b83d729]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;z-index:9999;animation:fadeInOut-6b83d729 1s ease-in-out;pointer-events:none}@keyframes fadeInOut-6b83d729{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.dark-mode .global-user-profile .theme-toggle-btn{background:#334155!important;color:#fbbf24!important;box-shadow:0 2px 8px rgba(251,191,36,.2)!important}.dark-mode .global-user-profile .theme-toggle-btn:before{background:radial-gradient(circle,rgba(251,191,36,.3) 0,transparent 70%)!important}.dark-mode .global-user-profile .theme-toggle-btn:hover{background:#475569!important;box-shadow:0 6px 20px rgba(251,191,36,.4)!important;transform:scale(1.1) rotate(-5deg)!important}.dark-mode .global-user-profile .theme-toggle-btn:active{transform:scale(.92) rotate(5deg)!important}.error-dialog-overlay[data-v-2b3eef36]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999!important;animation:fadeIn-2b3eef36 .3s cubic-bezier(.4,0,.2,1);padding:20px}@keyframes fadeIn-2b3eef36{0%{opacity:0}to{opacity:1}}.error-dialog[data-v-2b3eef36]{background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);max-width:700px;width:100%;max-height:85vh;display:flex!important;flex-direction:column;animation:slideUp-2b3eef36 .4s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative;z-index:100000}@keyframes slideUp-2b3eef36{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.error-dialog-header[data-v-2b3eef36]{padding:24px 28px;background:linear-gradient(135deg,#fff5f5,#fee2e2 50%,#fecaca);border-bottom:1px solid rgba(220,38,38,.1);display:flex;align-items:flex-start;justify-content:space-between;position:relative;overflow:hidden}.error-dialog-header[data-v-2b3eef36]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ef4444,#dc2626 50%,#b91c1c)}.header-content[data-v-2b3eef36]{display:flex;align-items:flex-start;gap:16px;flex:1}.error-icon-wrapper[data-v-2b3eef36]{position:relative;flex-shrink:0}.error-icon-bg[data-v-2b3eef36]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:50%;border:3px solid rgba(220,38,38,.2);animation:pulse-2b3eef36 2s ease-in-out infinite}@keyframes pulse-2b3eef36{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.8}}.error-icon[data-v-2b3eef36]{position:relative;color:#dc2626;z-index:1}.header-text[data-v-2b3eef36]{flex:1;padding-top:4px}.error-title[data-v-2b3eef36]{margin:0 0 4px 0;font-size:20px;font-weight:700;color:#991b1b;letter-spacing:-.02em}.error-subtitle[data-v-2b3eef36]{margin:0;font-size:13px;color:#b91c1c;opacity:.8}.close-btn[data-v-2b3eef36]{width:36px;height:36px;border:none;background:hsla(0,0%,100%,.8);color:#991b1b;cursor:pointer;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;backdrop-filter:blur(10px)}.close-btn[data-v-2b3eef36]:hover{background:rgba(220,38,38,.1);transform:rotate(90deg)}.close-btn[data-v-2b3eef36]:active{transform:rotate(90deg) scale(.95)}.error-dialog-content[data-v-2b3eef36]{padding:28px;overflow-y:auto;flex:1;background:#fafafa}.error-details-card[data-v-2b3eef36],.error-message-card[data-v-2b3eef36],.error-stack-card[data-v-2b3eef36]{background:#fff;border-radius:12px;border:1px solid #f0f0f0;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .2s ease}.error-details-card[data-v-2b3eef36]:hover,.error-message-card[data-v-2b3eef36]:hover,.error-stack-card[data-v-2b3eef36]:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}.card-header[data-v-2b3eef36]{display:flex;align-items:center;gap:8px;padding:14px 18px;background:linear-gradient(135deg,#fafafa,#f5f5f5);border-bottom:1px solid #f0f0f0}.card-header svg[data-v-2b3eef36]{color:#6b7280;flex-shrink:0}.card-title[data-v-2b3eef36]{flex:1;font-size:14px;font-weight:600;color:#374151;letter-spacing:.01em}.error-message-text[data-v-2b3eef36]{font-size:14px;color:#dc2626;padding:16px 18px;line-height:1.7;word-break:break-word;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #dc2626;margin:0}.error-details-container[data-v-2b3eef36],.error-stack-container[data-v-2b3eef36]{padding:16px 18px;background:#1e293b;max-height:280px;overflow-y:auto}.error-details-text[data-v-2b3eef36],.error-stack-text[data-v-2b3eef36]{font-size:12px;color:#e2e8f0;margin:0;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Monaco,Cascadia Code,Courier New,Consolas,monospace;line-height:1.6}.copy-btn[data-v-2b3eef36]{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:500}.copy-btn[data-v-2b3eef36]:hover{background:linear-gradient(135deg,#04c,#039);transform:translateY(-1px);box-shadow:0 4px 8px rgba(94,182,228,.3)}.copy-btn[data-v-2b3eef36]:active{transform:translateY(0)}.copy-btn svg[data-v-2b3eef36]{width:14px;height:14px}.error-dialog-footer[data-v-2b3eef36]{padding:20px 28px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px;background:#fff}.btn[data-v-2b3eef36]{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.01em}.btn.primary[data-v-2b3eef36]{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;box-shadow:0 2px 8px rgba(94,182,228,.3)}.btn.primary[data-v-2b3eef36]:hover{background:linear-gradient(135deg,#04c,#039);transform:translateY(-2px);box-shadow:0 4px 12px rgba(94,182,228,.4)}.btn.primary[data-v-2b3eef36]:active{transform:translateY(0)}.btn.secondary[data-v-2b3eef36]{background:#fff;color:#374151;border:2px solid #e5e7eb}.btn.secondary[data-v-2b3eef36]:hover{background:#f9fafb;border-color:#5eb6e4;color:#5eb6e4;transform:translateY(-1px)}.btn.secondary[data-v-2b3eef36]:active{transform:translateY(0)}.btn svg[data-v-2b3eef36]{width:16px;height:16px;flex-shrink:0}.error-details-container[data-v-2b3eef36]::-webkit-scrollbar,.error-dialog-content[data-v-2b3eef36]::-webkit-scrollbar,.error-stack-container[data-v-2b3eef36]::-webkit-scrollbar{width:8px}.error-details-container[data-v-2b3eef36]::-webkit-scrollbar-track,.error-dialog-content[data-v-2b3eef36]::-webkit-scrollbar-track,.error-stack-container[data-v-2b3eef36]::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:4px}.error-details-container[data-v-2b3eef36]::-webkit-scrollbar-thumb,.error-dialog-content[data-v-2b3eef36]::-webkit-scrollbar-thumb,.error-stack-container[data-v-2b3eef36]::-webkit-scrollbar-thumb{background:rgba(0,0,0,.3);border-radius:4px}.error-details-container[data-v-2b3eef36]::-webkit-scrollbar-thumb:hover,.error-dialog-content[data-v-2b3eef36]::-webkit-scrollbar-thumb:hover,.error-stack-container[data-v-2b3eef36]::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5)}.message-notification[data-v-4075c965]{position:relative;z-index:15000;display:block;visibility:visible}.message-badge[data-v-4075c965]{display:inline-block}.message-button[data-v-4075c965]{width:40px;height:40px;padding:0;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-secondary);transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative;z-index:10060}.message-button[data-v-4075c965]:hover{color:var(--primary-color);border-color:var(--primary-color);background:var(--primary-light)}.message-button.has-unread[data-v-4075c965]{color:var(--primary-color)}.bell-icon[data-v-4075c965]{display:block;margin:0 auto}.bell-icon.shake[data-v-4075c965]{animation:shake-4075c965 .5s ease-in-out infinite}@keyframes shake-4075c965{0%,to{transform:rotate(0deg)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.message-panel[data-v-4075c965]{position:absolute;top:calc(100% + 12px);right:0;width:400px;min-height:400px;max-height:600px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08);z-index:15001;display:flex;flex-direction:column;overflow:hidden;transition:height .3s ease}.message-panel[data-v-4075c965]:before{top:-8px;border-bottom:8px solid var(--border-primary)}.message-panel[data-v-4075c965]:after,.message-panel[data-v-4075c965]:before{content:"";position:absolute;right:12px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent}.message-panel[data-v-4075c965]:after{top:-7px;border-bottom:8px solid var(--bg-primary)}.panel-header[data-v-4075c965]{padding:16px 20px;border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;background:var(--bg-primary)}.header-left[data-v-4075c965]{display:flex;align-items:center;gap:8px}.title-text[data-v-4075c965]{font-size:16px;font-weight:600;color:var(--text-primary)}.unread-count[data-v-4075c965]{background:var(--danger-color);color:#fff;font-size:12px;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.panel-toolbar[data-v-4075c965]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-secondary);background:var(--bg-primary)}.toolbar-btn[data-v-4075c965]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease}.toolbar-btn.primary[data-v-4075c965]{border-color:transparent;background:linear-gradient(135deg,#5eb6e4,#3b82f6);color:#fff;box-shadow:0 8px 16px rgba(59,130,246,.25)}.toolbar-btn.primary[data-v-4075c965]:hover{box-shadow:0 12px 20px rgba(59,130,246,.35);transform:translateY(-1px)}.toolbar-btn[data-v-4075c965]:not(.primary):hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-lightest)}.toolbar-btn[data-v-4075c965]:disabled{opacity:.5;cursor:not-allowed}.tabs[data-v-4075c965]{display:flex;padding:0 20px;border-bottom:1px solid var(--border-secondary);background:var(--bg-primary)}.tab-item[data-v-4075c965]{flex:1;padding:12px 0;text-align:center;font-size:14px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;position:relative}.tab-item[data-v-4075c965]:hover{color:var(--primary-color)}.tab-item.active[data-v-4075c965]{color:var(--primary-color);font-weight:600;border-bottom-color:var(--primary-color)}.message-list[data-v-4075c965]{flex:1;overflow-y:auto;max-height:450px;transition:all .3s ease}.message-footer[data-v-4075c965]{padding:12px 20px;text-align:center;border-top:1px solid var(--border-secondary);background:var(--bg-primary)}.load-more-btn[data-v-4075c965]{border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-secondary);padding:6px 16px;border-radius:20px;cursor:pointer;transition:all .2s ease}.load-more-btn[data-v-4075c965]:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.load-more-btn[data-v-4075c965]:disabled{opacity:.6;cursor:not-allowed}.no-more[data-v-4075c965]{font-size:13px;color:var(--text-tertiary)}.empty-state[data-v-4075c965]{padding:60px 20px;text-align:center;color:var(--text-tertiary)}.empty-state svg[data-v-4075c965]{color:var(--text-quaternary);margin-bottom:16px}.empty-state p[data-v-4075c965]{margin:0;font-size:14px}.loading-state[data-v-4075c965]{padding:60px 20px;text-align:center;color:var(--text-tertiary)}.loading-spinner[data-v-4075c965]{width:40px;height:40px;margin:0 auto 16px;border:3px solid var(--border-secondary);border-top-color:var(--primary-color);border-radius:50%;animation:spin-4075c965 .8s linear infinite}@keyframes spin-4075c965{to{transform:rotate(1turn)}}.loading-state p[data-v-4075c965]{margin:0;font-size:14px}.message-item[data-v-4075c965]{padding:16px 20px;border-bottom:1px solid var(--border-secondary);display:flex;gap:12px;cursor:pointer;transition:background .2s ease;position:relative}.message-item[data-v-4075c965]:hover{background:var(--bg-secondary)}.message-item.unread[data-v-4075c965]{background:var(--primary-lightest)}.message-item.unread[data-v-4075c965]:hover{background:var(--primary-lighter)}.sender-avatar[data-v-4075c965]{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative}.sender-avatar .avatar-img[data-v-4075c965]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.sender-avatar .avatar-placeholder[data-v-4075c965]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:600;text-transform:uppercase}.sender-avatar.avatar-error[data-v-4075c965]:after{content:attr(data-initial);position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:600}.message-header-row[data-v-4075c965]{display:flex;align-items:center;gap:8px;margin-bottom:2px}.sender-name[data-v-4075c965]{font-size:13px;font-weight:500;color:var(--primary-color)}.message-icon[data-v-4075c965]{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.message-icon.scene-TASK_ASSIGN[data-v-4075c965],.message-icon.scene-TASK_DEADLINE_REMIND[data-v-4075c965],.message-icon.scene-TASK_OVERDUE[data-v-4075c965],.message-icon.scene-TASK_REVIEW_REQUEST[data-v-4075c965],.message-icon.scene-TASK_REVIEW_RESULT[data-v-4075c965],.message-icon.scene-TASK_STATUS_CHANGED[data-v-4075c965]{background:linear-gradient(135deg,#667eea,#764ba2)}.message-icon.scene-PROJECT_ARCHIVED[data-v-4075c965],.message-icon.scene-PROJECT_CREATED[data-v-4075c965],.message-icon.scene-PROJECT_DELETED[data-v-4075c965],.message-icon.scene-PROJECT_MEMBER_APPLY[data-v-4075c965],.message-icon.scene-PROJECT_MEMBER_APPROVAL[data-v-4075c965],.message-icon.scene-PROJECT_MEMBER_INVITED[data-v-4075c965],.message-icon.scene-PROJECT_MEMBER_REMOVED[data-v-4075c965],.message-icon.scene-PROJECT_ROLE_CHANGED[data-v-4075c965],.message-icon.scene-PROJECT_STATUS_CHANGED[data-v-4075c965]{background:linear-gradient(135deg,#f093fb,#f5576c)}.message-icon.scene-ACHIEVEMENT_CREATED[data-v-4075c965],.message-icon.scene-ACHIEVEMENT_DELETED[data-v-4075c965],.message-icon.scene-ACHIEVEMENT_FILE_DELETED[data-v-4075c965],.message-icon.scene-ACHIEVEMENT_FILE_UPLOADED[data-v-4075c965],.message-icon.scene-ACHIEVEMENT_PUBLISHED[data-v-4075c965],.message-icon.scene-ACHIEVEMENT_REVIEW_REQUEST[data-v-4075c965],.message-icon.scene-ACHIEVEMENT_STATUS_CHANGED[data-v-4075c965]{background:linear-gradient(135deg,#f9d423,#ff4e50)}.message-icon.scene-SYSTEM_BROADCAST[data-v-4075c965],.message-icon.scene-SYSTEM_SECURITY_ALERT[data-v-4075c965]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.message-content[data-v-4075c965]{flex:1;min-width:0}.message-title[data-v-4075c965]{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-body[data-v-4075c965]{font-size:13px;color:var(--text-secondary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.message-time[data-v-4075c965]{font-size:12px;color:var(--text-tertiary)}.unread-dot[data-v-4075c965]{position:absolute;top:18px;right:18px;width:12px;height:12px;background:#ff4d4f;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.05)}.delete-btn[data-v-4075c965]{position:absolute;top:16px;right:20px;width:28px;height:28px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.delete-btn[data-v-4075c965]:hover{background:var(--danger-lightest);color:var(--danger-color)}.message-item:hover .delete-btn[data-v-4075c965]{opacity:1}.slide-fade-enter-active[data-v-4075c965]{transition:all .3s ease}.slide-fade-leave-active[data-v-4075c965]{transition:all .2s ease}.slide-fade-enter[data-v-4075c965],.slide-fade-leave-to[data-v-4075c965]{transform:translateY(-10px);opacity:0}.fade-enter-active[data-v-4075c965],.fade-leave-active[data-v-4075c965]{transition:opacity .2s ease}.fade-enter[data-v-4075c965],.fade-leave-to[data-v-4075c965]{opacity:0}.message-detail-overlay[data-v-4075c965]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:15002;padding:16px}.message-detail-modal[data-v-4075c965]{width:520px;max-width:100%;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.detail-header[data-v-4075c965]{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.detail-title[data-v-4075c965]{font-size:18px;font-weight:600;color:#fff;margin-top:6px}.detail-scene[data-v-4075c965]{font-size:13px;color:hsla(0,0%,100%,.85);font-weight:500}.detail-close[data-v-4075c965]{width:36px;height:36px;border:none;background:hsla(0,0%,100%,.15);backdrop-filter:blur(8px);border-radius:50%;font-size:20px;line-height:1;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.detail-close[data-v-4075c965]:hover{background:hsla(0,0%,100%,.3);transform:rotate(90deg)}.detail-body[data-v-4075c965]{padding:20px 24px;overflow-y:auto;flex:1;background:#fff}.detail-section[data-v-4075c965]{margin-bottom:20px}.detail-section[data-v-4075c965]:last-child{margin-bottom:0}.section-label[data-v-4075c965]{font-size:13px;font-weight:600;color:#3b82f6;margin-bottom:8px}.section-content[data-v-4075c965]{font-size:14px;color:#334155;line-height:1.6}.section-extend[data-v-4075c965]{background:#f0f7ff;border:1px solid #e0edff;border-radius:10px;padding:14px;font-size:13px;line-height:1.6;color:#475569;overflow-x:auto;white-space:pre-wrap;word-break:break-all;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.extend-info-list[data-v-4075c965]{background:#f0f7ff;border:1px solid #e0edff;border-radius:10px;padding:12px 16px}.extend-info-item[data-v-4075c965]{display:flex;align-items:flex-start;padding:8px 0;border-bottom:1px dashed #e0edff}.extend-info-item[data-v-4075c965]:last-child{border-bottom:none;padding-bottom:0}.extend-info-item[data-v-4075c965]:first-child{padding-top:0}.extend-label[data-v-4075c965]{flex-shrink:0;width:80px;font-size:13px;font-weight:500;color:#64748b}.extend-value[data-v-4075c965]{flex:1;font-size:13px;color:#334155;word-break:break-all}.detail-footer[data-v-4075c965]{padding:18px 24px 22px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px;background:#f8fafc}.detail-btn[data-v-4075c965]{min-width:96px;padding:10px 20px;border:none;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:all .25s ease;box-shadow:0 4px 15px rgba(59,130,246,.4)}.detail-btn[data-v-4075c965]:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.5)}.detail-btn.outline[data-v-4075c965]{background:#fff;border:1px solid #e2e8f0;color:#64748b;box-shadow:none}.detail-btn.outline[data-v-4075c965]:hover{border-color:#3b82f6;color:#3b82f6;transform:none;box-shadow:none}.detail-btn.ghost[data-v-4075c965]{background:transparent;color:#64748b;box-shadow:none}.detail-btn.ghost[data-v-4075c965]:hover{color:#334155;background:#f1f5f9;transform:none}.dark-mode .message-footer[data-v-4075c965],.dark-mode .message-panel[data-v-4075c965],.dark-mode .panel-header[data-v-4075c965],.dark-mode .tabs[data-v-4075c965]{background:#020617;border-color:#1f2937}.dark-mode .title-text[data-v-4075c965]{color:#e5e7eb}.dark-mode .unread-count[data-v-4075c965]{background:#ef4444}.dark-mode .tab-item[data-v-4075c965]{color:#9ca3af}.dark-mode .tab-item.active[data-v-4075c965]{color:#60a5fa;border-bottom-color:#60a5fa}.dark-mode .message-item[data-v-4075c965]{border-bottom-color:#1f2937}.dark-mode .message-item[data-v-4075c965]:hover{background:#0f172a}.dark-mode .message-item.unread[data-v-4075c965]{background:rgba(37,99,235,.15)}.dark-mode .message-item.unread[data-v-4075c965]:hover{background:rgba(37,99,235,.22)}.dark-mode .message-title[data-v-4075c965]{color:#e5e7eb}.dark-mode .message-body[data-v-4075c965]{color:#9ca3af}.dark-mode .message-time[data-v-4075c965]{color:#6b7280}.dark-mode .empty-state[data-v-4075c965],.dark-mode .loading-state[data-v-4075c965]{color:#9ca3af}.dark-mode .message-detail-overlay[data-v-4075c965]{background:rgba(15,23,42,.75)}.dark-mode .message-detail-modal[data-v-4075c965]{background:#020617;border-color:#1f2937}.dark-mode .detail-header[data-v-4075c965]{border-bottom-color:#1f2937}.dark-mode .detail-title[data-v-4075c965]{color:#e5e7eb}.dark-mode .detail-scene[data-v-4075c965],.dark-mode .section-label[data-v-4075c965]{color:#6b7280}.dark-mode .section-content[data-v-4075c965]{color:#e5e7eb}.dark-mode .section-extend[data-v-4075c965]{background:#020617;border-color:#1f2937;color:#9ca3af}.dark-mode .detail-footer[data-v-4075c965]{border-top-color:#1f2937}.dark-mode .detail-btn[data-v-4075c965]{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 15px rgba(37,99,235,.4)}.dark-mode .detail-btn.outline[data-v-4075c965]{background:transparent;border-color:#374151;color:#e5e7eb}.dark-mode .detail-btn.ghost[data-v-4075c965]{background:transparent;color:#9ca3af}.send-message-dialog[data-v-4075c965] .el-dialog{border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15)}.send-message-dialog[data-v-4075c965] .el-dialog__wrapper,.send-message-dialog[data-v-4075c965] .el-overlay,.send-message-dialog[data-v-4075c965] .v-modal{z-index:15003!important}.send-message-dialog[data-v-4075c965] .el-dialog__header{padding:0;margin:0}.send-message-dialog[data-v-4075c965] .el-dialog__body,.send-message-dialog[data-v-4075c965] .el-dialog__footer{padding:0}.dialog-custom-header[data-v-4075c965]{display:flex;align-items:center;gap:14px;padding:24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.header-icon[data-v-4075c965]{width:52px;height:52px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(8px);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-icon svg[data-v-4075c965]{color:#fff}.header-text[data-v-4075c965]{flex:1}.header-text h3[data-v-4075c965]{margin:0;font-size:20px;font-weight:600}.header-text p[data-v-4075c965]{margin:6px 0 0;font-size:13px;opacity:.9}.header-close[data-v-4075c965]{width:38px;height:38px;border:none;background:hsla(0,0%,100%,.15);backdrop-filter:blur(8px);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease}.header-close[data-v-4075c965]:hover{background:hsla(0,0%,100%,.3);transform:rotate(90deg)}.send-mode-tabs[data-v-4075c965]{display:flex;gap:10px;padding:18px 24px;background:#f0f7ff;border-bottom:1px solid #e0edff}.mode-tab[data-v-4075c965]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;background:#fff;border:2px solid #e2e8f0;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;transition:all .25s ease}.mode-tab[data-v-4075c965]:hover{color:#3b82f6;border-color:#3b82f6}.mode-tab.active[data-v-4075c965]{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.mode-tab svg[data-v-4075c965]{flex-shrink:0}.send-form-content[data-v-4075c965]{padding:24px;display:flex;flex-direction:column;gap:20px;background:#fff}.form-group[data-v-4075c965]{display:flex;flex-direction:column;gap:8px}.form-group .form-label[data-v-4075c965]{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#334155}.form-group .form-label svg[data-v-4075c965]{color:#3b82f6}.form-group[data-v-4075c965] .el-input__inner,.form-group[data-v-4075c965] .el-textarea__inner{border-radius:10px;border:1px solid #e2e8f0;transition:all .2s ease}.form-group[data-v-4075c965] .el-input__inner:focus,.form-group[data-v-4075c965] .el-textarea__inner:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15)}.form-group[data-v-4075c965] .el-textarea__inner{min-height:100px}.empty-tip[data-v-4075c965]{display:flex;align-items:center;gap:6px;margin:8px 0 0;padding:10px 12px;background:#fef3c7;border-radius:8px;font-size:13px;color:#92400e}.dialog-custom-footer[data-v-4075c965]{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px 22px;background:#f8fafc;border-top:1px solid #e2e8f0}.btn-cancel[data-v-4075c965]{padding:12px 24px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.btn-cancel[data-v-4075c965]:hover{border-color:#cbd5e1;color:#334155;background:#f8fafc}.btn-send[data-v-4075c965]{display:flex;align-items:center;gap:8px;padding:12px 28px;border:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 15px rgba(59,130,246,.4)}.btn-send[data-v-4075c965]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.5)}.btn-send[data-v-4075c965]:disabled{opacity:.7;cursor:not-allowed}.btn-send .loading-spinner[data-v-4075c965]{width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin-4075c965 .8s linear infinite}@media (max-width:768px){.message-notification[data-v-4075c965]{right:300px;top:12px;z-index:11000}.message-button[data-v-4075c965]{width:42px;height:42px;border:2px solid #5eb6e4!important;background:#fff!important;box-shadow:0 2px 8px rgba(94,182,228,.3);color:#04c!important}.message-button[data-v-4075c965]:hover{background:#e0f2fe!important;border-color:#04c!important}.bell-icon[data-v-4075c965]{width:20px;height:20px;color:#04c}.message-panel[data-v-4075c965]{width:90vw;max-width:360px;right:auto;left:50%;transform:translateX(-50%);position:fixed;top:60px}}@media (max-width:480px){.message-notification[data-v-4075c965]{right:280px;top:12px;z-index:11000}.message-button[data-v-4075c965]{width:40px;height:40px;border:2px solid #5eb6e4!important;background:#fff!important;box-shadow:0 2px 8px rgba(94,182,228,.3);color:#04c!important}.message-button[data-v-4075c965]:hover{background:#e0f2fe!important;border-color:#04c!important}.bell-icon[data-v-4075c965]{width:18px;height:18px;color:#04c}.message-badge[data-v-4075c965]{transform:scale(.9)}.message-panel[data-v-4075c965]{width:92vw;max-width:360px;right:auto;left:50%;transform:translateX(-50%);position:fixed;top:60px}}@media (max-width:768px){.dark-mode .message-button[data-v-4075c965]{background:#1e293b!important;border-color:#5eb6e4!important;color:#5eb6e4!important}.dark-mode .message-button[data-v-4075c965]:hover{background:#334155!important;border-color:#60a5fa!important}.dark-mode .bell-icon[data-v-4075c965]{color:#5eb6e4}}.el-dialog__wrapper:not(.send-message-dialog .el-dialog__wrapper),.el-message-box__wrapper{z-index:14000!important}.v-modal:not(.send-message-dialog .v-modal){z-index:13999!important}.dark-mode .message-panel .panel-toolbar{background:#020617;border-bottom-color:#1f2937}.dark-mode .message-panel .toolbar-btn{background:#020617;border-color:#1f2937;color:#e5e7eb}.dark-mode .message-panel .toolbar-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent}.dark-mode .message-panel .toolbar-btn:not(.primary):hover:not(:disabled){background:#111827;border-color:#3b82f6;color:#60a5fa}.dark-mode .message-detail-modal,.dark-mode .message-detail-modal .detail-body{background:#020617}.dark-mode .message-detail-modal .detail-header{background:linear-gradient(135deg,#020617,#0f172a 60%,#1d4ed8)}.dark-mode .message-detail-modal .section-extend{background:#020617;border-color:#1f2937}.dark-mode .message-detail-modal .detail-footer{background:#020617;border-top-color:#1f2937}.dark-mode .message-detail-modal .extend-info-list{background:#020617;border-color:#1f2937}.dark-mode .message-detail-modal .extend-info-item{border-bottom-color:#1f2937}.dark-mode .message-detail-modal .extend-label{color:#9ca3af}.dark-mode .message-detail-modal .extend-value{color:#e5e7eb}.dark-mode .send-message-dialog .el-dialog{background:#020617;box-shadow:0 20px 60px rgba(0,0,0,.6)}.dark-mode .send-message-dialog .dialog-custom-header{background:linear-gradient(135deg,#0f172a,#1e293b);color:#e5e7eb}.dark-mode .send-message-dialog .header-icon{background:rgba(15,23,42,.85)}.dark-mode .send-message-dialog .header-text h3{color:#e5e7eb}.dark-mode .send-message-dialog .header-text p{color:#9ca3af}.dark-mode .send-message-dialog .header-close{background:rgba(15,23,42,.9);color:#e5e7eb}.dark-mode .send-message-dialog .header-close:hover{background:rgba(30,64,175,.9)}.dark-mode .send-message-dialog .send-mode-tabs{background:#020617;border-bottom-color:#1f2937}.dark-mode .send-message-dialog .mode-tab{background:#020617;border-color:#1f2937;color:#9ca3af}.dark-mode .send-message-dialog .mode-tab.active{border-color:#3b82f6;color:#60a5fa}.dark-mode .send-message-dialog .send-form-content{background:#020617}.dark-mode .send-message-dialog .form-group .form-label{color:#e5e7eb}.dark-mode .send-message-dialog .form-group .form-label svg{color:#60a5fa}.dark-mode .send-message-dialog .el-input__inner,.dark-mode .send-message-dialog .el-textarea__inner{background:#020617;border-color:#1f2937;color:#e5e7eb}.dark-mode .send-message-dialog .el-input__inner::-moz-placeholder,.dark-mode .send-message-dialog .el-textarea__inner::-moz-placeholder{color:#6b7280}.dark-mode .send-message-dialog .el-input__inner::placeholder,.dark-mode .send-message-dialog .el-textarea__inner::placeholder{color:#6b7280}.dark-mode .send-message-dialog .dialog-custom-footer{background:#020617;border-top-color:#1f2937}.dark-mode .send-message-dialog .btn-cancel{background:#020617;border-color:#1f2937;color:#e5e7eb}.dark-mode .send-message-dialog .btn-cancel:hover{background:#111827;border-color:#374151}.dark-mode .send-message-dialog .btn-send{background:linear-gradient(135deg,#3b82f6,#2563eb)}.dark-mode .send-message-dialog .btn-send:disabled{opacity:.7}.login-toast{margin-top:60px!important;z-index:9999!important}.login-toast.el-message{min-width:200px;text-align:center;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.floating-message-reminder[data-v-99657132]{position:fixed;right:0;bottom:100px;transform:none;z-index:15000;transition:all .3s ease;pointer-events:auto}.reminder-trigger[data-v-99657132]{width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:24px 0 0 24px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:-2px 0 8px rgba(0,0,0,.12);transition:all .3s ease}.reminder-trigger[data-v-99657132]:hover{width:52px;box-shadow:-3px 0 12px rgba(0,0,0,.18);background:linear-gradient(135deg,#2563eb,#1d4ed8)}.icon-wrapper[data-v-99657132]{position:relative}.icon-wrapper[data-v-99657132],.message-badge[data-v-99657132]{color:#fff;display:flex;align-items:center;justify-content:center}.message-badge[data-v-99657132]{position:absolute;top:-6px;right:-6px;background:#ef4444;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.reminder-panel[data-v-99657132]{position:absolute;right:48px;bottom:0;width:360px;max-height:60vh;background:#fff;border-radius:12px 0 0 12px;box-shadow:-4px 0 20px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;min-height:0;z-index:15001}.panel-header[data-v-99657132]{padding:16px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-bottom:1px solid hsla(0,0%,100%,.2)}.panel-title[data-v-99657132]{font-size:18px;font-weight:600;margin:0 0 4px 0}.message-count[data-v-99657132]{font-size:14px;opacity:.9}.panel-content[data-v-99657132]{flex:1;max-height:calc(60vh - 72px);overflow-y:auto;overflow-x:hidden;padding:16px;min-height:0;-webkit-overflow-scrolling:touch}.empty-state[data-v-99657132],.loading-state[data-v-99657132]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#64748b;text-align:center}.empty-state svg[data-v-99657132],.loading-state svg[data-v-99657132]{margin-bottom:12px;color:#94a3b8}.empty-subtitle[data-v-99657132]{font-size:12px;color:#94a3b8;margin-top:4px}.message-item[data-v-99657132]{padding:16px;background:#f8fafc;border-radius:8px;border-left:4px solid;transition:all .2s ease}.message-item[data-v-99657132]:hover{background:#f1f5f9;transform:translateX(-2px)}.message-item.message-invite[data-v-99657132]{border-left-color:#3b82f6}.message-item.message-apply[data-v-99657132]{border-left-color:#f59e0b}.message-info[data-v-99657132]{margin-bottom:12px}.message-title[data-v-99657132]{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 8px 0}.message-content[data-v-99657132]{font-size:13px;color:#64748b;margin:0 0 8px 0;line-height:1.5}.message-time[data-v-99657132]{font-size:12px;color:#94a3b8;margin:0}.message-actions[data-v-99657132]{display:flex;gap:8px}.action-btn[data-v-99657132]{flex:1;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn[data-v-99657132]:disabled{opacity:.6;cursor:not-allowed}.action-btn.accept[data-v-99657132]{background:#10b981;color:#fff}.action-btn.accept[data-v-99657132]:hover:not(:disabled){background:#059669}.action-btn.reject[data-v-99657132]{background:#e2e8f0;color:#475569}.action-btn.reject[data-v-99657132]:hover:not(:disabled){background:#cbd5e1}.slide-left-enter-active[data-v-99657132],.slide-left-leave-active[data-v-99657132]{transition:all .3s ease}.slide-left-enter-from[data-v-99657132],.slide-left-leave-to[data-v-99657132]{opacity:0;transform:translateX(20px)}.panel-content[data-v-99657132]::-webkit-scrollbar{width:8px}.panel-content[data-v-99657132]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px;margin:4px 0}.panel-content[data-v-99657132]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.panel-content[data-v-99657132]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.message-list[data-v-99657132]{display:flex;flex-direction:column;gap:12px;min-height:0}.dark-mode .reminder-panel[data-v-99657132]{background:#1e293b;color:#f1f5f9}.dark-mode .message-item[data-v-99657132]{background:#334155}.dark-mode .message-item[data-v-99657132]:hover{background:#475569}.dark-mode .message-title[data-v-99657132]{color:#f1f5f9}.dark-mode .message-content[data-v-99657132]{color:#cbd5e1}.dark-mode .message-time[data-v-99657132]{color:#94a3b8}.dark-mode .action-btn.reject[data-v-99657132]{background:#475569;color:#cbd5e1}.dark-mode .action-btn.reject[data-v-99657132]:hover:not(:disabled){background:#64748b}#app{min-height:100vh;background-color:var(--bg-secondary);color:var(--text-primary)}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1}.global-header-right{position:fixed;top:8px;right:20px;z-index:10003;display:flex;align-items:center;gap:12px}.zhiyan-footer[data-v-7eb92d28]{background:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 100%);border-top:1px solid var(--border-primary);margin-top:auto;position:relative;z-index:10;transition:all var(--transition-normal)}.footer-container[data-v-7eb92d28]{max-width:1400px;margin:0 auto;padding:0}.footer-main[data-v-7eb92d28]{display:grid;grid-template-columns:1fr 2.5fr;gap:3rem;padding:3rem 2rem 2rem;border-bottom:1px solid var(--border-primary)}.footer-brand[data-v-7eb92d28]{display:flex;flex-direction:column;gap:1rem}.footer-logo[data-v-7eb92d28]{display:flex;align-items:center;gap:.75rem;color:var(--primary-color,#2573f5)}.footer-logo svg[data-v-7eb92d28]{flex-shrink:0;transition:transform .3s ease}.footer-logo:hover svg[data-v-7eb92d28]{transform:translateY(-2px)}.logo-text[data-v-7eb92d28]{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color,#2573f5),var(--primary-dark,#0c2d67));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-description[data-v-7eb92d28]{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin:0;opacity:.85}.footer-links-group[data-v-7eb92d28]{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.footer-section[data-v-7eb92d28]{display:flex;flex-direction:column;gap:1rem}.section-title[data-v-7eb92d28]{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 .5rem 0;text-transform:uppercase;letter-spacing:.5px}.link-list[data-v-7eb92d28]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-link[data-v-7eb92d28]{color:var(--text-secondary);font-size:.875rem;text-decoration:none;transition:all .2s ease;padding:.25rem 0;display:inline-block;position:relative}.footer-link[data-v-7eb92d28]:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary-color,#2573f5);transition:width .3s ease}.footer-link[data-v-7eb92d28]:hover{color:var(--primary-color,#2573f5);transform:translateX(4px)}.footer-link[data-v-7eb92d28]:hover:before{width:100%}.icon-link[data-v-7eb92d28]{display:flex;align-items:center;gap:.5rem}.icon-link svg[data-v-7eb92d28]{flex-shrink:0}.contact-item[data-v-7eb92d28]{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;padding:.25rem 0}.contact-item svg[data-v-7eb92d28]{flex-shrink:0;color:var(--primary-color,#2573f5)}.footer-bottom[data-v-7eb92d28]{background:var(--bg-secondary)}.footer-bottom-content[data-v-7eb92d28]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;flex-wrap:wrap;gap:1rem}.copyright[data-v-7eb92d28]{display:flex;flex-direction:column;gap:.25rem}.copyright p[data-v-7eb92d28]{color:var(--text-tertiary);font-size:.8rem;margin:0}.license-info[data-v-7eb92d28]{display:flex;align-items:center;gap:.5rem}.license-link[data-v-7eb92d28]{color:var(--text-tertiary);text-decoration:none;transition:color .2s ease}.license-link[data-v-7eb92d28]:hover{color:var(--primary-color,#2573f5)}.footer-bottom-links[data-v-7eb92d28]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.bottom-link[data-v-7eb92d28]{color:var(--text-tertiary);font-size:.8rem;text-decoration:none;transition:color .2s ease;display:flex;align-items:center}.bottom-link[data-v-7eb92d28]:hover{color:var(--primary-color,#2573f5)}.filing-link[data-v-7eb92d28]{display:inline-flex;align-items:center;margin-right:16px}.filing-link[data-v-7eb92d28]:last-of-type{margin-right:0}.separator[data-v-7eb92d28]{color:var(--text-disabled);font-size:.75rem}html.dark-mode .zhiyan-footer[data-v-7eb92d28]{background:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 100%);border-top-color:var(--border-primary)}html.dark-mode .footer-main[data-v-7eb92d28]{border-bottom-color:var(--border-primary)}html.dark-mode .footer-logo[data-v-7eb92d28]{color:#3b82f6}html.dark-mode .logo-text[data-v-7eb92d28]{background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.dark-mode .footer-description[data-v-7eb92d28]{color:var(--text-tertiary)}html.dark-mode .section-title[data-v-7eb92d28]{color:var(--text-primary)}html.dark-mode .footer-link[data-v-7eb92d28]{color:var(--text-secondary)}html.dark-mode .footer-link[data-v-7eb92d28]:hover{color:var(--primary-color)}html.dark-mode .footer-link[data-v-7eb92d28]:before{background:var(--primary-color)}html.dark-mode .contact-item[data-v-7eb92d28]{color:var(--text-secondary)}html.dark-mode .contact-item svg[data-v-7eb92d28]{color:var(--primary-color)}html.dark-mode .footer-bottom[data-v-7eb92d28]{background:var(--bg-secondary)}html.dark-mode .bottom-link[data-v-7eb92d28],html.dark-mode .copyright p[data-v-7eb92d28],html.dark-mode .license-link[data-v-7eb92d28]{color:var(--text-tertiary)}html.dark-mode .bottom-link[data-v-7eb92d28]:hover,html.dark-mode .license-link[data-v-7eb92d28]:hover{color:var(--primary-color)}html.dark-mode .separator[data-v-7eb92d28]{color:var(--text-disabled)}@media (max-width:1200px){.footer-links-group[data-v-7eb92d28]{grid-template-columns:repeat(2,1fr);gap:2rem}}@media (max-width:768px){.footer-main[data-v-7eb92d28]{grid-template-columns:1fr;gap:2rem;padding:2rem 1.5rem 1.5rem}.footer-links-group[data-v-7eb92d28]{grid-template-columns:1fr;gap:1.5rem}.footer-bottom-content[data-v-7eb92d28]{flex-direction:column;align-items:flex-start;padding:1.25rem 1.5rem;gap:.75rem}.footer-bottom-links[data-v-7eb92d28]{flex-direction:column;align-items:flex-start;gap:.5rem}.separator[data-v-7eb92d28]{display:none}.logo-text[data-v-7eb92d28]{font-size:1.25rem}}@media (max-width:480px){.footer-logo svg[data-v-7eb92d28]{width:28px;height:28px}.logo-text[data-v-7eb92d28]{font-size:1.125rem}.section-title[data-v-7eb92d28]{font-size:.85rem}.contact-item[data-v-7eb92d28],.footer-link[data-v-7eb92d28]{font-size:.8125rem}.bottom-link[data-v-7eb92d28],.copyright p[data-v-7eb92d28]{font-size:.75rem}}.landing-page{width:100%;min-height:100vh;position:relative;overflow-x:hidden;background:#000510;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000510;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-in}.loading-content{text-align:center;padding:2rem}.loading-logo{margin-bottom:2rem;animation:logoFloat 2s ease-in-out infinite}.loading-logo-img{width:120px;height:120px;filter:drop-shadow(0 0 20px rgba(74,158,255,.8));animation:logoPulse 2s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 20px rgba(74,158,255,.8))}50%{filter:drop-shadow(0 0 40px rgba(74,158,255,1))}}.loading-text{font-size:2rem;font-weight:600;background:linear-gradient(135deg,#4a9eff,#9a4eff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:2rem;letter-spacing:.1em;animation:textGlow 2s ease-in-out infinite}.loading-bar{width:300px;height:4px;background:rgba(74,158,255,.2);border-radius:2px;overflow:hidden;margin:0 auto 1rem;box-shadow:0 0 10px rgba(74,158,255,.3)}.loading-progress{height:100%;background:linear-gradient(90deg,#4a9eff,#9a4eff,#4a9eff);background-size:200% 100%;border-radius:2px;transition:width .3s ease;animation:progressShine 2s linear infinite;box-shadow:0 0 20px rgba(74,158,255,.8)}@keyframes progressShine{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-percentage{font-size:.9rem;color:#8ab4f8;letter-spacing:.05em;animation:percentageFade 1s ease-in-out infinite alternate}@keyframes percentageFade{0%{opacity:.6}to{opacity:1}}#three-canvas-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;cursor:crosshair;pointer-events:auto}#three-canvas-container canvas{cursor:crosshair}.landing-content{position:relative;z-index:2;width:100%;pointer-events:none}.landing-content>*{pointer-events:auto}.landing-nav{justify-content:space-between;padding:1.5rem 5%;background:rgba(0,5,16,.3);backdrop-filter:blur(10px);border-bottom:1px solid rgba(74,158,255,.1);position:sticky;top:0;z-index:100;transition:all .3s ease}.landing-nav,.nav-logo{display:flex;align-items:center}.nav-logo{gap:.8rem}.logo-image{width:45px;height:45px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 8px rgba(74,158,255,.6));transition:all .3s ease;border-radius:12px;overflow:hidden}.logo-image:hover{transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 0 15px rgba(74,158,255,.9))}.logo-text-group{display:flex;flex-direction:column;gap:.2rem}.logo-text{font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,#4a9eff,#9a4eff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.05em;animation:logoGlow 3s ease-in-out infinite}.logo-subtitle{font-size:.7rem;color:#8ab4f8;letter-spacing:.1em;text-transform:uppercase;opacity:.8}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 3px rgba(74,158,255,.5))}50%{filter:drop-shadow(0 0 8px rgba(154,74,255,.6))}}.nav-links{display:flex;gap:2.5rem;align-items:center}.nav-link{font-size:.9rem;color:#b8d4f8;text-decoration:none;position:relative;transition:all .3s ease;letter-spacing:.02em}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:linear-gradient(90deg,#4a9eff,#9a4eff);transition:width .3s ease}.nav-link:hover{color:#fff;transform:translateY(-2px)}.nav-link:hover:after{width:100%}.hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 5%;text-align:center;position:relative}.hero-content{max-width:900px;margin:0 auto}.hero-title{display:flex;flex-direction:column;gap:.8rem;margin-bottom:2rem}.title-line{font-size:3.5rem;font-weight:700;background:linear-gradient(135deg,#fff,#8ab4f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.02em;line-height:1.2;text-shadow:0 0 30px rgba(74,158,255,.3);animation:titleFloat 4s ease-in-out infinite}.title-line-sub{font-size:1.2rem;font-weight:300;background:linear-gradient(135deg,#8ab4f8,#4a9eff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.15em;opacity:.95;text-transform:uppercase}@keyframes titleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.hero-description-wrapper{min-height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:3rem}.hero-description{font-size:1.15rem;color:#b8d4f8;line-height:1.8;margin:0;opacity:.95;letter-spacing:.03em;text-align:center;font-weight:300}.typewriter{display:inline-block;position:relative}.typewriter-text{background:linear-gradient(135deg,#b8d4f8,#8ab4f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typewriter-cursor{display:inline-block;width:2px;height:1.3em;background:linear-gradient(180deg,#4a9eff,#2a7eff);margin-left:3px;vertical-align:text-bottom;animation:cursorPulse .8s ease-in-out infinite;box-shadow:0 0 8px rgba(74,158,255,.6)}.typewriter-cursor.blink{animation:cursorBlink 1.06s step-end infinite}@keyframes cursorBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes cursorPulse{0%,to{opacity:1;box-shadow:0 0 8px rgba(74,158,255,.6)}50%{opacity:.6;box-shadow:0 0 15px rgba(74,158,255,.9)}}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:1rem 2.5rem;font-size:1rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;gap:.8rem;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:.05em;box-shadow:0 4px 15px rgba(0,0,0,.3)}.btn-primary{background:transparent;color:#fff;border:none;position:relative;overflow:visible}.btn-primary:before{background:linear-gradient(135deg,#4a9eff,#2a7eff);z-index:-1;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn-primary:after,.btn-primary:before{content:"";position:absolute;inset:0;border-radius:8px}.btn-primary:after{background:linear-gradient(135deg,#6ab4ff,#4a9eff);z-index:-2;opacity:0;filter:blur(20px);transition:opacity .4s ease}.btn-primary:hover:before{transform:scale(1.05);box-shadow:0 0 30px rgba(74,158,255,.6)}.btn-primary:hover:after{opacity:1}.btn-primary:hover{transform:translateY(-3px);color:#fff}.btn-secondary{background:transparent;color:#4a9eff;border:none;position:relative;overflow:visible}.btn-secondary:before{inset:0;background:rgba(74,158,255,.15);border:2px solid #4a9eff;z-index:-1;backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1)}.btn-secondary:after,.btn-secondary:before{content:"";position:absolute;border-radius:8px}.btn-secondary:after{inset:-2px;background:linear-gradient(135deg,#4a9eff,#9a4eff);z-index:-2;opacity:0;filter:blur(15px);transition:opacity .4s ease}.btn-secondary:hover:before{background:rgba(74,158,255,.25);border-color:#6ab4ff;transform:scale(1.05)}.btn-secondary:hover:after{opacity:.6}.btn-secondary:hover{color:#213b56;transform:translateY(-3px)}.btn-text{position:relative;z-index:1}.btn-icon{font-size:1.2rem;transition:transform .3s ease}.btn-primary:hover .btn-icon{transform:translateX(5px)}.btn-secondary:hover .btn-icon{transform:translateY(3px)}.scroll-indicator{position:absolute;bottom:3rem;left:48%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;opacity:.7;z-index:10}.scroll-text{font-size:.9rem;color:#8ab4f8;letter-spacing:.1em;text-align:center;white-space:nowrap}.scroll-arrow{display:flex;align-items:center;justify-content:center;color:#4a9eff;animation:scrollBounce 2s ease-in-out infinite}.scroll-arrow svg{filter:drop-shadow(0 0 8px rgba(74,158,255,.6))}@keyframes scrollBounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}.crt-terminal-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 5%;background:rgba(0,5,16,.8);position:relative}.terminal-container{width:100%;max-width:1400px;margin:0 auto}.terminal-window{background:#1e1e1e;border-radius:8px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5);border:1px solid #3a3a3a}.terminal-title-bar{background:linear-gradient(90deg,navy,#1084d0);height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 4px;border:1px solid #dfdfdf;border-bottom:none}.terminal-title{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.9rem}.terminal-icon{font-size:1rem;color:#4a9eff}.terminal-name{color:#fff;font-family:Tahoma,Segoe UI,sans-serif;font-weight:700;font-size:12px;text-shadow:1px 1px #000;font-weight:500;letter-spacing:.02em}.terminal-controls{display:flex;gap:.5rem}.control-btn{width:16px;height:14px;background:silver;border:1px solid #fff;border-right-color:grey;border-bottom-color:grey;display:flex;align-items:center;justify-content:center;font-size:10px;color:#000;margin-left:2px;cursor:pointer;transition:all .2s ease}.control-btn:active{transform:scale(.95)}.control-btn:hover{background:#5a5a5a}.control-btn.minimize:hover{background:#3a7bd5}.control-btn.maximize:hover{background:#2a6ac5}.control-btn.close:hover{background:#e74c3c}.terminal-screen{position:relative;height:650px;background:#0a0a0a;overflow:hidden;border:4px solid #333;box-shadow:inset 0 0 40px rgba(0,0,0,.8),0 0 15px rgba(100,200,150,.05);cursor:text;transition:box-shadow .5s ease}.terminal-screen.crt-shutdown{box-shadow:inset 0 0 40px rgba(0,0,0,.8),0 0 5px rgba(0,0,0,.3)}.terminal-screen.crt-shutdown .crt-canvas{animation:none}.crt-beam-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 0 30px #fff,0 0 60px #fff;animation:beamDotFade .3s ease-out forwards;z-index:20}@keyframes beamDotFade{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(0)}}.terminal-screen:before{content:" ";display:block;position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(hsla(0,6%,7%,0) 50%,rgba(0,0,0,.08) 0),linear-gradient(90deg,rgba(255,0,0,.02),rgba(0,255,0,.01),rgba(0,0,255,.02));z-index:5;background-size:100% 3px,3px 100%;pointer-events:none}@keyframes crt-flicker{0%{opacity:.97}5%{opacity:.99}10%{opacity:.95}to{opacity:1}}.crt-canvas{animation:crt-flicker .1s infinite;filter:contrast(1.05) brightness(1.05);width:100%;height:100%;display:block;background:#000;image-rendering:pixelated}.crt-terminal-section:after{content:"Commands: help | features | about | download | goweb | docs | lang | back | UP/DOWN to scroll";position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-size:.85rem;color:rgba(192,240,192,.4);letter-spacing:.05em;pointer-events:none;animation:hintFade 3s ease-in-out infinite;text-align:center;max-width:90%}@keyframes hintFade{0%,to{opacity:.3}50%{opacity:.7}}.scanline{position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.03),rgba(0,0,0,.03) 1px,transparent 0,transparent 3px);pointer-events:none;animation:scanlineMove 8s linear infinite}@keyframes scanlineMove{0%{transform:translateY(0)}to{transform:translateY(10px)}}.crt-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:radial-gradient(circle at center,transparent 50%,rgba(0,0,0,.4) 100%),linear-gradient(135deg,hsla(0,0%,100%,.05),transparent 50%,hsla(0,0%,100%,.02));z-index:10}.crt-overlay:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(100,200,150,.01);mix-blend-mode:overlay;animation:crtFlicker .15s infinite}@keyframes crtFlicker{0%{opacity:.97}50%{opacity:1}to{opacity:.98}}.crt-overlay:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(hsla(0,6%,7%,0) 50%,rgba(0,0,0,.25) 0);background-size:100% 4px;pointer-events:none}.section-title{font-size:2.5rem;text-align:center;margin-bottom:4rem;background:linear-gradient(135deg,#fff,#8ab4f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.05em}.about-earth-section{min-height:100vh;position:relative;background:transparent;overflow:hidden;display:flex;align-items:center;justify-content:center}#earth-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#earth-container canvas{cursor:grab;display:block}#earth-container canvas:active{cursor:grabbing}.about-text-overlay{position:relative;z-index:5;width:100%;max-width:800px;padding:0 5%;display:flex;flex-direction:column;gap:2.5rem;pointer-events:none;text-align:center;transition:opacity .4s ease}.about-text-overlay.text-faded{opacity:.2}.about-section-content,.team-section-content{animation:fadeInUp 1.2s ease-out backwards}.about-section-content{animation-delay:.3s}.team-section-content{animation-delay:.6s}.about-heading{font-size:1.8rem;font-weight:600;background:linear-gradient(135deg,#fff,#8ab4f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem;letter-spacing:.08em;text-shadow:0 0 30px rgba(74,158,255,.3);opacity:.7;animation:textGlow 3s ease-in-out infinite}@keyframes textGlow{0%,to{filter:drop-shadow(0 0 10px rgba(74,158,255,.3))}50%{filter:drop-shadow(0 0 20px rgba(138,180,248,.5))}}.about-line{font-size:.9rem;color:#b8d4f8;line-height:2;margin:0;opacity:.6;letter-spacing:.03em;text-shadow:0 2px 8px rgba(0,0,0,.6);transition:all .3s ease}.about-line:hover{opacity:.85;transform:translateX(5px);color:#d8e4f8;text-shadow:0 0 15px rgba(74,158,255,.5)}.landing-page .zhiyan-footer{background:linear-gradient(180deg,rgba(0,5,16,.95),rgba(10,22,40,.98));border-top:1px solid rgba(74,158,255,.2);backdrop-filter:blur(10px)}.landing-page .footer-main{border-bottom:1px solid rgba(74,158,255,.15)}.landing-page .footer-logo{color:#4a9eff}.landing-page .footer-logo svg{color:#4a9eff;filter:drop-shadow(0 0 8px rgba(74,158,255,.4))}.landing-page .logo-text{background:linear-gradient(135deg,#4a9eff,#6ab4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 5px rgba(74,158,255,.3))}.landing-page .footer-description{color:#b8d4f8;opacity:.8}.landing-page .section-title{color:#8ab4f8;font-weight:600;letter-spacing:.08em}.landing-page .footer-link{color:#b8d4f8;transition:all .3s ease}.landing-page .footer-link:hover{color:#4a9eff;transform:translateX(5px);text-shadow:0 0 8px rgba(74,158,255,.4)}.landing-page .footer-link:before{background:linear-gradient(90deg,#4a9eff,#2a7eff)}.landing-page .contact-item{color:#b8d4f8}.landing-page .contact-item svg{color:#4a9eff;filter:drop-shadow(0 0 5px rgba(74,158,255,.3))}.landing-page .footer-bottom{background:rgba(0,5,16,.8);border-top:1px solid rgba(74,158,255,.1)}.landing-page .copyright p{color:#8ab4f8;opacity:.7}.landing-page .license-link{color:#8ab4f8;transition:all .3s ease}.landing-page .license-link:hover{color:#4a9eff;text-shadow:0 0 5px rgba(74,158,255,.4)}.landing-page .bottom-link{color:#8ab4f8;transition:all .3s ease}.landing-page .bottom-link:hover{color:#4a9eff;text-shadow:0 0 5px rgba(74,158,255,.4)}.landing-page .filing-link a{color:#8ab4f8}.landing-page .filing-link:hover a{color:#4a9eff}.landing-page .separator{color:rgba(138,180,248,.4)}@media (max-width:1024px){.title-line{font-size:2.8rem}.hero-description,.title-line-sub{font-size:1rem}.hero-description-wrapper{min-height:70px}.section-title{font-size:2rem}.about-heading{font-size:1.5rem}.about-line,.scroll-text{font-size:.85rem}.scroll-arrow svg{width:20px;height:20px}}@media (max-width:768px){.landing-nav{padding:1rem 4%}.nav-links{gap:1.5rem}.nav-link{font-size:.85rem}.title-line{font-size:2.2rem}.title-line-sub{font-size:.9rem;letter-spacing:.1em}.hero-description{font-size:.95rem}.hero-description-wrapper{min-height:65px;padding:0 1rem}.typewriter-cursor{height:1.2em}.hero-buttons{flex-direction:column;gap:1rem}.btn-primary,.btn-secondary{padding:.9rem 2rem;font-size:.95rem}.terminal-screen{height:550px}.crt-canvas{font-size:14px}.about-text-overlay{gap:2.5rem}.about-heading{font-size:1.4rem}.about-line{font-size:.8rem;line-height:1.8}.scroll-indicator{bottom:2rem}.scroll-text{font-size:.8rem}.scroll-arrow svg{width:20px;height:20px}}@media (max-width:480px){.landing-nav{flex-direction:column;gap:1rem;padding:1rem 3%}.logo-image{width:35px;height:35px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 8px rgba(74,158,255,.6));transition:all .3s ease;border-radius:12px;overflow:hidden}.nav-links{gap:1rem}.title-line{font-size:1.8rem}.title-line-sub{font-size:.8rem;letter-spacing:.08em}.hero-description{font-size:.85rem;line-height:1.6}.hero-description-wrapper{min-height:60px;padding:0 .5rem}.typewriter-cursor{height:1.1em;margin-left:2px}.section-title{font-size:1.6rem}.about-section,.download-section,.features-section{padding:4rem 4% 3rem}.loading-logo-img{width:120px;height:120px;filter:drop-shadow(0 0 20px rgba(74,158,255,.8));animation:logoPulse 2s ease-in-out infinite;border-radius:16px;overflow:hidden}.loading-text{font-size:1.5rem}.loading-bar{width:250px}.terminal-screen{height:450px}.terminal-title-bar{padding:.4rem .8rem}.terminal-name{font-size:.75rem}.control-btn{width:24px;height:24px;font-size:.9rem}.terminal-container{max-width:95%}.about-text-overlay{gap:2rem;max-width:90%}.about-heading{font-size:1.2rem;margin-bottom:1rem}.about-line{font-size:.75rem;line-height:1.8}.scroll-indicator{bottom:1.5rem}.scroll-text{font-size:.75rem}.scroll-arrow svg{width:18px;height:18px}}.terminal-window{animation:fadeIn .8s ease-out backwards;animation-delay:.3s}html{scroll-behavior:smooth}.landing-page::-webkit-scrollbar{width:8px}.landing-page::-webkit-scrollbar-track{background:rgba(0,5,16,.5)}.landing-page::-webkit-scrollbar-thumb{background:rgba(74,158,255,.5);border-radius:4px}.landing-page::-webkit-scrollbar-thumb:hover{background:rgba(74,158,255,.7)}.slider-captcha[data-v-474aaa0e]{width:100%;position:relative;margin:20px 0}.slider-container[data-v-474aaa0e]{position:relative;width:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.slider-track[data-v-474aaa0e]{position:relative;width:100%;height:50px;background:#f7f9fa;border:2px solid #e4e7eb;border-radius:8px;overflow:hidden;transition:all .3s ease}.slider-container.verified .slider-track[data-v-474aaa0e]{border-color:#52c41a;background:#f6ffed}.slider-container.failed .slider-track[data-v-474aaa0e]{border-color:#ff4d4f;background:#fff2f0;animation:shake-474aaa0e .5s ease}@keyframes shake-474aaa0e{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.slider-fill[data-v-474aaa0e]{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#e3f2fd,#bbdefb);transition:background .3s ease;pointer-events:none}.slider-container.verified .slider-fill[data-v-474aaa0e]{background:linear-gradient(90deg,#d9f7be,#95de64)}.slider-container.failed .slider-fill[data-v-474aaa0e]{background:linear-gradient(90deg,#ffccc7,#ffa39e)}.slider-text[data-v-474aaa0e]{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#8c8c8c;font-weight:500;pointer-events:none;z-index:1}.slider-container.verified .slider-text[data-v-474aaa0e]{color:#52c41a}.slider-container.failed .slider-text[data-v-474aaa0e]{color:#ff4d4f}.slider-button[data-v-474aaa0e]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:50px;height:42px;background:#fff;border:2px solid #e4e7eb;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:grab;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:2}.slider-button[data-v-474aaa0e]:active{cursor:grabbing}.slider-button[data-v-474aaa0e]:hover{border-color:#3b82f6}.slider-container.verified .slider-button[data-v-474aaa0e]{background:#52c41a;border-color:#52c41a;cursor:default}.slider-container.verified .slider-button[data-v-474aaa0e]:hover{border-color:#52c41a}.slider-container.failed .slider-button[data-v-474aaa0e]{border-color:#ff4d4f}.slider-button svg[data-v-474aaa0e]{color:#8c8c8c;transition:color .3s ease}.slider-button:hover svg[data-v-474aaa0e]{color:#3b82f6}.slider-container.verified .slider-button svg[data-v-474aaa0e]{color:#fff}.slider-container.failed .slider-button svg[data-v-474aaa0e]{color:#ff4d4f}.refresh-btn[data-v-474aaa0e]{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:32px;height:32px;background:#fff;border:1px solid #d9d9d9;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:3}.refresh-btn[data-v-474aaa0e]:hover{background:#f5f5f5;border-color:#3b82f6}.refresh-btn svg[data-v-474aaa0e]{color:#8c8c8c}.refresh-btn:hover svg[data-v-474aaa0e]{color:#3b82f6;animation:rotate-refresh-474aaa0e .5s ease}@keyframes rotate-refresh-474aaa0e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:480px){.slider-track[data-v-474aaa0e]{height:45px}.slider-button[data-v-474aaa0e]{width:45px;height:38px}.slider-text[data-v-474aaa0e]{font-size:13px}}.login-container{min-height:100vh;height:auto;background:#fff;display:flex;margin:0;padding:0;position:relative;overflow:auto}@media (min-width:1025px){.login-container{height:100vh;overflow:hidden}}.login-container .login-left{flex:1;background:linear-gradient(135deg,#3b82f6,#1e40af);display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}.login-container .login-left:before{content:"";position:absolute;top:-50%;right:-20%;width:100%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);animation:rotate 20s linear infinite}.login-container .brand-corner{position:fixed;top:20px;left:40px;font-size:28px;font-weight:700;color:#fff;z-index:1000;letter-spacing:2px}.login-container .logo-section{position:relative;z-index:2;text-align:center;color:#fff}.login-container .logo-placeholder{margin-bottom:24px;display:flex;justify-content:center;opacity:1}.login-container .logo-placeholder.animated{animation:fadeInUp .8s ease-out}.login-container .logo-img{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;border-radius:12px}.login-container .system-title{font-size:32px;font-weight:700;margin:0 0 12px 0;color:#fff}.login-container .system-title.animated{animation:fadeInUp .8s ease-out .2s both}.login-container .system-subtitle{font-size:16px;color:hsla(0,0%,100%,.9);margin:0;font-weight:300;letter-spacing:1px}.login-container .system-subtitle.animated{animation:fadeInUp .8s ease-out .4s both}.login-container .login-right{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:#f8f9fa}.login-container .login-box{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:48px;width:100%;max-width:420px;position:relative;overflow:hidden}.login-container .login-header{text-align:center;margin-bottom:32px}.login-container .login-title{font-size:28px;color:#2d3748;font-weight:700;margin:0 0 8px 0}.login-container .login-subtitle{font-size:14px;color:#718096;margin:0;font-weight:400}.login-container .login-form{width:100%}.login-container .form-group{margin-bottom:20px}.login-container .form-hint{font-size:12px;color:#6b7280;margin-top:6px;margin-bottom:0;line-height:1.4}.login-container .form-group label{display:block;margin-bottom:8px;color:#2d3748;font-weight:600;font-size:14px}.login-container .form-group input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box;background:#fff;color:#2d3748}.login-container .password-input-wrapper{position:relative;display:flex;align-items:center}.login-container .password-input-wrapper input{padding-right:40px}.login-container .password-toggle-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:16px;color:#a0aec0;display:flex;align-items:center;justify-content:center;padding:0}.login-container .password-toggle-btn:hover{color:#4a5568}.login-container .form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.login-container .form-group input::-moz-placeholder{color:#a0aec0}.login-container .form-group input::placeholder{color:#a0aec0}.dark-mode .login-container .form-group input{background:#fff!important;color:#2d3748!important;border-color:#e2e8f0!important}.dark-mode .login-container .form-group input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important}.dark-mode .login-container .form-group input::-moz-placeholder{color:#a0aec0!important}.dark-mode .login-container .form-group input::placeholder{color:#a0aec0!important}.login-container .form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.login-container .checkbox-option{display:flex;align-items:center;font-size:14px;color:#4a5568;cursor:pointer}.login-container .checkbox-option span{margin-left:8px}.login-container .checkbox-option input{margin:0;width:auto;accent-color:#3b82f6}.login-container .forgot-password{color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500;transition:color .3s ease}.login-container .forgot-password:hover{color:#2563eb}.login-container .register-link{text-align:center;margin-top:24px;font-size:14px;color:#718096}.login-container .register-link a{color:#3b82f6;text-decoration:none;font-weight:600;margin-left:4px;transition:color .3s ease}.login-container .register-link a:hover{color:#2563eb}.login-container .login-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.login-container .login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.4)}.login-container .login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-container .divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:#a0aec0;font-size:14px}.login-container .divider:after,.login-container .divider:before{content:"";flex:1;border-bottom:1px solid #e2e8f0}.login-container .divider span{padding:0 16px;white-space:nowrap}.dark-mode .login-container .divider{color:#718096}.dark-mode .login-container .divider:after,.dark-mode .login-container .divider:before{border-bottom-color:#4a5568}.login-container .github-login-btn{width:100%;padding:12px 24px;background:#24292e;color:#fff;border:1px solid #24292e;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.login-container .github-login-btn:hover{background:#1b1f23;border-color:#1b1f23;transform:translateY(-2px);box-shadow:0 4px 12px rgba(36,41,46,.3)}.login-container .github-login-btn:active{transform:translateY(0)}.login-container .github-icon{flex-shrink:0}.dark-mode .login-container .github-login-btn{background:#fff;color:#24292e;border-color:#e2e8f0}.dark-mode .login-container .github-login-btn:hover{background:#f7fafc;border-color:#cbd5e0}.login-container .orcid-login-btn{width:100%;padding:12px 24px;background:#a6ce39;color:#fff;border:1px solid #a6ce39;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.login-container .orcid-login-btn:hover{background:#8fb32a;border-color:#8fb32a;transform:translateY(-2px);box-shadow:0 4px 12px rgba(166,206,57,.3)}.login-container .orcid-login-btn:active{transform:translateY(0)}.login-container .orcid-img{width:20px;height:20px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.dark-mode .login-container .orcid-login-btn{background:#a6ce39;color:#fff;border-color:#a6ce39}.dark-mode .login-container .orcid-login-btn:hover{background:#8fb32a;border-color:#8fb32a}.login-container .qrcode-login-btn{width:100%;padding:0;background:transparent;color:#3b82f6;border:none;border-radius:0;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:2px;margin-top:10px;margin-bottom:16px}.login-container .qrcode-login-btn:hover:not(:disabled){color:#2563eb;transform:none;box-shadow:none}.login-container .qrcode-login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-container .qrcode-modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9998}.login-container .qrcode-modal{width:92%;max-width:420px;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.18);overflow:hidden}.login-container .qrcode-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f1f5f9}.login-container .qrcode-modal-title{font-size:16px;font-weight:700;color:#111827}.login-container .qrcode-modal-close{border:none;background:transparent;cursor:pointer;font-size:20px;line-height:1;color:#6b7280}.login-container .qrcode-modal-body{padding:18px 16px;display:flex;flex-direction:column;align-items:center;gap:12px}.login-container .qrcode-image{width:220px;height:220px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.login-container .qrcode-modal-tip{text-align:center;font-size:13px;color:#4b5563;line-height:1.6}.login-container .qrcode-status{margin-top:8px;font-weight:600;color:#2563eb}.login-container .qrcode-modal-footer{padding:14px 16px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end}.login-container .qrcode-modal-btn{padding:10px 14px;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb;color:#111827;font-size:14px;font-weight:600;cursor:pointer}.login-container .qrcode-modal-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width:1024px){.login-container{flex-direction:column;height:auto;min-height:100vh}.login-container .login-left{min-height:250px;flex:none}.login-container .login-right{flex:1;min-height:auto;padding:30px 20px}}@media (max-width:768px){.login-container .login-left{min-height:200px;padding:24px 20px;z-index:1}.login-container .brand-corner{font-size:24px;top:16px;left:20px}.login-container .logo-img,.login-container .logo-placeholder svg{width:120px;height:120px}.login-container .system-title{font-size:22px;margin-bottom:8px}.login-container .system-subtitle{font-size:13px}.login-container .login-right{padding:24px 16px;position:relative;z-index:2;background:#fff}.login-container .login-box{padding:28px 20px;max-width:100%}.login-container .login-title{font-size:24px}.login-container .login-subtitle{font-size:13px}.login-container .form-group{margin-bottom:16px}.login-container .form-group input{padding:10px 14px;font-size:14px}.login-container .login-btn{padding:12px 20px;font-size:15px}.login-container .github-login-btn{padding:10px 20px;font-size:14px}}@media (max-width:480px){.login-container{overflow-y:auto}.login-container .login-left{min-height:160px;padding:16px;z-index:1}.login-container .brand-corner{font-size:20px;top:12px;left:16px}.login-container .logo-placeholder{margin-bottom:12px}.login-container .logo-img,.login-container .logo-placeholder svg{width:50px;height:50px}.login-container .system-title{font-size:18px;margin-bottom:6px}.login-container .system-subtitle{font-size:11px}.login-container .login-right{padding:20px 16px 32px;position:relative;z-index:2;background:#fff}.login-container .login-box{padding:24px 16px;box-shadow:none}.login-container .login-header{margin-bottom:24px}.login-container .login-title{font-size:20px}.login-container .login-subtitle{font-size:12px}.login-container .form-group{margin-bottom:14px}.login-container .form-group label{font-size:13px;margin-bottom:6px}.login-container .form-group input{padding:10px 12px;font-size:14px}.login-container .form-options{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px}.login-container .checkbox-option,.login-container .forgot-password{font-size:13px}.login-container .login-btn{padding:12px 16px;font-size:14px}.login-container .divider{margin:20px 0;font-size:12px}.login-container .github-login-btn{padding:10px 16px;font-size:13px;gap:8px;margin-bottom:12px}.login-container .github-icon{width:16px;height:16px}.login-container .register-link{margin-top:20px;font-size:13px}}.login-container .success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;z-index:9999;animation:login-fadeInOut 1s ease-in-out;pointer-events:none}@keyframes login-fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.register-container{min-height:100vh;height:100vh;background:#fff;display:flex;margin:0;padding:0;position:relative;overflow:hidden}.register-container .register-left{flex:1;background:linear-gradient(135deg,#3b82f6,#1e40af);display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}.register-container .register-left:before{content:"";position:absolute;top:-50%;right:-20%;width:100%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);animation:register-rotate 20s linear infinite}@keyframes register-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.register-container .brand-corner{position:fixed;top:20px;left:40px;font-size:28px;font-weight:700;color:#fff;z-index:1000;letter-spacing:2px}.register-container .logo-section{position:relative;z-index:2;text-align:center;color:#fff}.register-container .logo-placeholder{margin-bottom:24px;display:flex;justify-content:center;opacity:1}.register-container .logo-placeholder.animated{animation:register-fadeInUp .8s ease-out}.register-container .logo-img{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;border-radius:12px}@keyframes register-fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.register-container .system-title{font-size:32px;font-weight:700;margin:0 0 12px 0;color:#fff}.register-container .system-title.animated{animation:register-fadeInUp .8s ease-out .2s both}.register-container .system-subtitle{font-size:16px;color:hsla(0,0%,100%,.9);margin:0;font-weight:300;letter-spacing:1px}.register-container .system-subtitle.animated{animation:register-fadeInUp .8s ease-out .4s both}.register-container .register-right{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:40px;background:#f8f9fa;overflow-y:auto}.register-container .register-box{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:48px;width:100%;max-width:500px;margin:20px 0}.register-container .register-header{position:relative;margin-bottom:32px}.register-container .back-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:#3b82f6;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .3s ease;margin-bottom:20px;font-size:14px;font-weight:500}.register-container .back-btn:hover{background:rgba(59,130,246,.1)}.register-container .register-title{font-size:28px;color:#2d3748;font-weight:700;margin:0 0 8px 0}.register-container .register-subtitle{font-size:14px;color:#718096;margin:0;font-weight:400}.register-container .register-form{width:100%}.register-container .form-group{margin-bottom:20px}.register-container .form-group label{display:block;margin-bottom:8px;color:#2d3748;font-weight:600;font-size:14px}.register-container .form-group label .required-asterisk{color:#ef4444;margin-left:2px;font-weight:700}.register-container .form-group input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box;background:#fff;color:#2d3748}.register-container .form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.register-container .form-group input::-moz-placeholder{color:#a0aec0}.register-container .form-group input::placeholder{color:#a0aec0}.register-container .password-strength-indicator{margin-top:8px;display:flex;align-items:center;gap:12px}.register-container .strength-bar{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;position:relative}.register-container .strength-fill{height:100%;border-radius:2px;transition:all .3s ease;background:linear-gradient(90deg,currentColor,currentColor)}.register-container .strength-label{font-size:12px;font-weight:600;min-width:60px;text-align:right;transition:color .3s ease}.register-container .password-warning{margin-top:6px;font-size:12px;color:#ef4444;display:flex;align-items:center;gap:4px}.dark-mode .register-container .form-group input{background:#fff!important;color:#2d3748!important;border-color:#e2e8f0!important}.dark-mode .register-container .form-group input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important}.dark-mode .register-container .form-group input::-moz-placeholder{color:#a0aec0!important}.dark-mode .register-container .form-group input::placeholder{color:#a0aec0!important}.register-container .code-input-group{display:flex;gap:10px;align-items:center}.register-container .code-input{flex:1}.register-container .send-code-btn{background:#3b82f6;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.register-container .send-code-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.register-container .send-code-btn:disabled{background:#e2e8f0;color:#cbd5e0;border:none;opacity:1;cursor:not-allowed}.register-container .agreement-group{margin-bottom:20px}.register-container .agreement{display:flex;align-items:flex-start;font-size:14px;color:#4a5568;cursor:pointer;line-height:1.6}.register-container .agreement input{margin:0;margin-right:8px;margin-top:2px;width:auto;accent-color:#3b82f6}.register-container .agreement-link{color:#3b82f6;text-decoration:none;margin:0 2px;transition:color .3s ease}.register-container .agreement-link:hover{color:#2563eb}.register-container .register-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.register-container .register-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.4)}.register-container .register-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width:1024px){.register-container{flex-direction:column;height:auto;min-height:100vh;overflow-y:auto}.register-container .register-left{min-height:250px;flex:none}.register-container .register-right{flex:1;min-height:auto;padding:30px 20px}}@media (max-width:768px){.register-container .register-left{min-height:200px;padding:24px 20px}.register-container .logo-placeholder svg{width:60px;height:60px}.register-container .system-title{font-size:24px}.register-container .system-subtitle{font-size:14px}.register-container .register-right{padding:24px 16px}.register-container .register-box{padding:28px 20px}}@media (max-width:480px){.register-container .register-left{min-height:160px;padding:16px}.register-container .logo-placeholder svg{width:50px;height:50px}.register-container .system-title{font-size:20px}.register-container .system-subtitle{font-size:12px}.register-container .register-right{padding:20px 16px 32px}.register-container .register-box{padding:24px 16px}.register-container .register-title{font-size:22px}.register-container .code-input-group{flex-direction:column;gap:10px}.register-container .send-code-btn{width:100%}}.register-container .success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;z-index:10000;animation:register-fadeInOut 1s ease-in-out;pointer-events:none}@keyframes register-fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.register-container .modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:10000}.register-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:400px;width:90%;max-height:80vh;overflow:hidden;animation:register-modalSlideIn .3s ease-out}@keyframes register-modalSlideIn{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.register-container .modal-header{padding:20px 24px 16px;text-align:center}.register-container .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.register-container .modal-body{padding:0 24px 20px;text-align:center}.register-container .modal-body p{margin:0;color:#666;line-height:1.5}.register-container .modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:center}.register-container .btn-cancel,.register-container .btn-confirm{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.register-container .btn-cancel{background:#f5f5f5;color:#666}.register-container .btn-cancel:hover{background:#e8e8e8}.register-container .btn-confirm{background:#007bff;color:#fff}.register-container .btn-confirm:hover{background:#0056b3}.forgot-password-container{min-height:100vh;height:100vh;background:#fff;display:flex;margin:0;padding:0;position:relative;overflow:hidden}.forgot-password-container .forgot-password-left{flex:1;background:linear-gradient(135deg,#3b82f6,#1e40af);display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}.forgot-password-container .forgot-password-left:before{content:"";position:absolute;top:-50%;right:-20%;width:100%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.forgot-password-container .brand-corner{position:fixed;top:20px;left:40px;font-size:28px;font-weight:700;color:#fff;z-index:1000;letter-spacing:2px}.forgot-password-container .logo-section{position:relative;z-index:2;text-align:center;color:#fff}.forgot-password-container .logo-placeholder{margin-bottom:24px;display:flex;justify-content:center;opacity:1}.forgot-password-container .logo-placeholder.animated{animation:fadeInUp .8s ease-out}.forgot-password-container .logo-img{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;border-radius:12px}.forgot-password-container .system-title{font-size:32px;font-weight:700;margin:0 0 12px 0;color:#fff}.forgot-password-container .system-title.animated{animation:fadeInUp .8s ease-out .2s both}.forgot-password-container .system-subtitle{font-size:16px;color:hsla(0,0%,100%,.9);margin:0;font-weight:300;letter-spacing:1px}.forgot-password-container .system-subtitle.animated{animation:fadeInUp .8s ease-out .4s both}.forgot-password-container .forgot-password-right{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:#f8f9fa}.forgot-password-container .forgot-password-box{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:48px;width:100%;max-width:450px}.forgot-password-container .forgot-password-header{position:relative;margin-bottom:32px}.forgot-password-container .back-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:#3b82f6;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .3s ease;margin-bottom:20px;font-size:14px;font-weight:500}.forgot-password-container .back-btn:hover{background:rgba(59,130,246,.1)}.forgot-password-container .forgot-password-title{font-size:28px;color:#2d3748;font-weight:700;margin:0 0 8px 0}.forgot-password-container .forgot-password-subtitle{font-size:14px;color:#718096;margin:0;font-weight:400}.forgot-password-container .forgot-password-form{width:100%}.forgot-password-container .form-group{margin-bottom:20px}.forgot-password-container .form-group label{display:block;margin-bottom:8px;color:#2d3748;font-weight:600;font-size:14px}.forgot-password-container .form-group label .required-asterisk{color:#ef4444;margin-left:2px;font-weight:700}.forgot-password-container .form-group input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box;background:#fff;color:#2d3748}.forgot-password-container .form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.forgot-password-container .form-group input::-moz-placeholder{color:#a0aec0}.forgot-password-container .form-group input::placeholder{color:#a0aec0}.forgot-password-container .email-invalid-link{margin-top:0;margin-bottom:2px;font-size:13px;color:#2563eb;text-decoration:underline;cursor:pointer;text-align:right}.forgot-password-container .email-invalid-link:hover{color:#1d4ed8}.dark-mode .forgot-password-container .form-group input{background:#fff!important;color:#2d3748!important;border-color:#e2e8f0!important}.dark-mode .forgot-password-container .form-group input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important}.dark-mode .forgot-password-container .form-group input::-moz-placeholder{color:#a0aec0!important}.dark-mode .forgot-password-container .form-group input::placeholder{color:#a0aec0!important}.forgot-password-container .password-strength-indicator{margin-top:8px;display:flex;align-items:center;gap:12px}.forgot-password-container .strength-bar{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;position:relative}.forgot-password-container .strength-fill{height:100%;border-radius:2px;transition:all .3s ease;background:linear-gradient(90deg,currentColor,currentColor)}.forgot-password-container .strength-label{font-size:12px;font-weight:600;min-width:60px;text-align:right;transition:color .3s ease}.forgot-password-container .password-warning{margin-top:6px;font-size:12px;color:#ef4444;display:flex;align-items:center;gap:4px}.forgot-password-container .code-input-group{display:flex;gap:10px;align-items:center}.forgot-password-container .code-input{flex:1}.forgot-password-container .send-code-btn{background:#3b82f6;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.forgot-password-container .send-code-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.forgot-password-container .send-code-btn:disabled{background:#e2e8f0;color:#cbd5e0;border:none;opacity:1;cursor:not-allowed}.forgot-password-container .complete-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.forgot-password-container .complete-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.4)}.forgot-password-container .complete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.forgot-password-container .two-factor-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;letter-spacing:4px;text-align:center;transition:border-color .3s ease,box-shadow .3s ease}.forgot-password-container .two-factor-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.forgot-password-container .two-factor-input::-moz-placeholder{letter-spacing:0;font-weight:400;color:#a0aec0}.forgot-password-container .two-factor-input::placeholder{letter-spacing:0;font-weight:400;color:#a0aec0}.forgot-password-container .optional-label{font-size:12px;color:#6b7280;font-weight:400;margin-left:4px}.forgot-password-container .form-hint{font-size:12px;color:#6b7280;margin-top:6px;margin-bottom:0;line-height:1.4}@media (max-width:1024px){.forgot-password-container{flex-direction:column;height:auto;min-height:100vh;overflow-y:auto}.forgot-password-container .forgot-password-left{min-height:250px;flex:none}.forgot-password-container .forgot-password-right{flex:1;min-height:auto;padding:30px 20px}}@media (max-width:768px){.forgot-password-container .forgot-password-left{min-height:200px;padding:24px 20px}.forgot-password-container .logo-placeholder svg{width:60px;height:60px}.forgot-password-container .system-title{font-size:24px}.forgot-password-container .system-subtitle{font-size:14px}.forgot-password-container .forgot-password-right{padding:24px 16px}.forgot-password-container .forgot-password-box{padding:28px 20px}}@media (max-width:480px){.forgot-password-container .forgot-password-left{min-height:160px;padding:16px}.forgot-password-container .logo-placeholder svg{width:50px;height:50px}.forgot-password-container .system-title{font-size:20px}.forgot-password-container .system-subtitle{font-size:12px}.forgot-password-container .forgot-password-right{padding:20px 16px 32px}.forgot-password-container .forgot-password-box{padding:24px 16px}.forgot-password-container .forgot-password-title{font-size:22px}.forgot-password-container .code-input-group{flex-direction:column;gap:10px}.forgot-password-container .send-code-btn{width:100%}}.forgot-password-container .success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;z-index:10000;animation:forgot-fadeInOut 1s ease-in-out;pointer-events:none}@keyframes forgot-fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.sidebar-overlay[data-v-414b52fc]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg-overlay);z-index:var(--z-modal);display:flex;justify-content:flex-start;align-items:flex-start;backdrop-filter:blur(4px)}.sidebar[data-v-414b52fc]{width:280px;height:100vh;background:var(--bg-primary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:slideIn-414b52fc var(--transition-normal) ease-out;border-right:1px solid var(--border-primary)}@keyframes slideIn-414b52fc{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.sidebar-header[data-v-414b52fc]{padding:var(--space-6) var(--space-5);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;background:var(--bg-primary)}.sidebar-title[data-v-414b52fc]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn[data-v-414b52fc]{background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.close-btn[data-v-414b52fc]:hover{background-color:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.05)}.sidebar-nav[data-v-414b52fc]{flex:1;padding:var(--space-4) 0}.nav-item[data-v-414b52fc]{display:flex;align-items:center;padding:var(--space-4) var(--space-5);cursor:pointer;transition:all var(--transition-normal);position:relative;color:var(--text-secondary);margin:0 var(--space-2);border-radius:var(--radius-lg)}.nav-item[data-v-414b52fc]:hover{background-color:var(--bg-tertiary);color:var(--text-primary);transform:translateX(4px)}.nav-item.active[data-v-414b52fc]{background:linear-gradient(135deg,var(--primary-light),var(--info-light));color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateX(4px)}.nav-item.active[data-v-414b52fc]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:var(--primary-color);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.nav-item.active .nav-icon[data-v-414b52fc]{color:var(--primary-color)}.nav-icon[data-v-414b52fc]{width:20px;height:20px;margin-right:var(--space-4);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all var(--transition-normal)}.nav-text[data-v-414b52fc]{font-size:var(--text-sm);font-weight:var(--font-medium);flex:1}@media (max-width:768px){.sidebar[data-v-414b52fc]{width:100%;max-width:320px}.sidebar-header[data-v-414b52fc]{padding:var(--space-5) var(--space-4)}.nav-item[data-v-414b52fc]{padding:var(--space-3) var(--space-4);margin:0 var(--space-1)}.nav-text[data-v-414b52fc]{font-size:var(--text-sm)}}.modal-overlay[data-v-414b52fc]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-414b52fc]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:400px;width:90%;max-height:90vh;overflow:hidden}.modal-header[data-v-414b52fc]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px}.modal-header h3[data-v-414b52fc]{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-close[data-v-414b52fc]{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280;transition:all .2s ease}.modal-close[data-v-414b52fc]:hover{background:#f3f4f6;color:#374151}.modal-body[data-v-414b52fc]{padding:20px 24px}.modal-body p[data-v-414b52fc]{margin:0;font-size:16px;color:#374151;line-height:1.5}.modal-footer[data-v-414b52fc]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 20px}.modal-btn[data-v-414b52fc]{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.modal-btn-cancel[data-v-414b52fc]{background:#f3f4f6;color:#374151}.modal-btn-cancel[data-v-414b52fc]:hover{background:#e5e7eb}.modal-btn-confirm[data-v-414b52fc]{background:#3b82f6;color:#fff}.modal-btn-confirm[data-v-414b52fc]:hover{background:#2563eb}.dark-mode .sidebar[data-v-414b52fc]{background:#1e293b;border-right-color:#475569}.dark-mode .sidebar-header[data-v-414b52fc]{background:#1e293b;border-bottom-color:#475569}.dark-mode .sidebar-title[data-v-414b52fc]{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .close-btn[data-v-414b52fc]{color:#94a3b8}.dark-mode .close-btn[data-v-414b52fc]:hover{background-color:#334155;color:#f1f5f9}.dark-mode .nav-item[data-v-414b52fc]{color:#cbd5e1}.dark-mode .nav-item[data-v-414b52fc]:hover{background-color:#334155;color:#f1f5f9}.dark-mode .nav-item.active[data-v-414b52fc]{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#60a5fa}.dark-mode .nav-item.active[data-v-414b52fc]:before{background:#60a5fa}.dark-mode .nav-item.active .nav-icon[data-v-414b52fc]{color:#60a5fa}.dark-mode .nav-icon[data-v-414b52fc]{color:#94a3b8}.dark-mode .nav-item:hover .nav-icon[data-v-414b52fc]{color:#f1f5f9}.dark-mode .modal-content[data-v-414b52fc]{background:#1e293b;box-shadow:0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.3)}.dark-mode .modal-header h3[data-v-414b52fc]{color:#f1f5f9}.dark-mode .modal-close[data-v-414b52fc]{color:#94a3b8}.dark-mode .modal-close[data-v-414b52fc]:hover{background:#334155;color:#f1f5f9}.dark-mode .modal-body p[data-v-414b52fc]{color:#cbd5e1}.dark-mode .modal-btn-cancel[data-v-414b52fc]{background:#334155;color:#cbd5e1}.dark-mode .modal-btn-cancel[data-v-414b52fc]:hover{background:#475569;color:#f1f5f9}.right-sidebar[data-v-32be5c3e]{width:320px;display:flex;flex-direction:column;gap:var(--space-5);background:var(--bg-primary);padding:var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--border-primary);box-shadow:var(--shadow-md);flex-shrink:0;align-self:flex-start;overflow:visible;max-height:100vh}.calendar-widget[data-v-32be5c3e],.task-alert-widget[data-v-32be5c3e]{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);transition:all var(--transition-normal)}.calendar-widget[data-v-32be5c3e]{position:relative}.calendar-widget[data-v-32be5c3e]:hover,.task-alert-widget[data-v-32be5c3e]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.task-alert-widget[data-v-32be5c3e]{border:2px solid #dbeafe}.task-alert-widget.urgent[data-v-32be5c3e]{border:2px solid var(--error-color);background:linear-gradient(135deg,var(--bg-primary),var(--error-light))}.task-alert-content[data-v-32be5c3e]{display:flex;flex-direction:column;gap:var(--space-3)}.alert-message[data-v-32be5c3e]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-normal);cursor:pointer;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;z-index:10;pointer-events:auto;flex-shrink:0}.alert-message.urgent[data-v-32be5c3e]{background:var(--error-light)}.alert-message.urgent[data-v-32be5c3e]:hover{background:linear-gradient(135deg,var(--error-light),#fecaca);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.alert-message.safe[data-v-32be5c3e]{background:var(--primary-light)}.expand-icon[data-v-32be5c3e]{flex-shrink:0;transition:transform var(--transition-normal);margin-left:auto}.expand-icon.expanded[data-v-32be5c3e]{transform:rotate(180deg)}.urgent-task-list[data-v-32be5c3e]{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);max-height:175px;overflow-y:auto;overflow-x:hidden;padding-right:4px}.urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar{width:6px}.urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.urgent-task-item[data-v-32be5c3e]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-primary);border-radius:var(--radius-md);border-left:3px solid;transition:all var(--transition-fast);cursor:pointer}.urgent-task-item[data-v-32be5c3e]:hover{transform:translateX(4px);box-shadow:var(--shadow-sm)}.urgent-task-item.priority-high[data-v-32be5c3e]{border-left-color:var(--error-color);background:linear-gradient(135deg,var(--bg-primary),var(--error-light))}.urgent-task-item.priority-medium[data-v-32be5c3e]{border-left-color:var(--warning-color);background:linear-gradient(135deg,var(--bg-primary),var(--warning-light))}.urgent-task-item.priority-low[data-v-32be5c3e]{border-left-color:var(--success-color);background:linear-gradient(135deg,var(--bg-primary),var(--success-light))}.task-info[data-v-32be5c3e]{flex:1;min-width:0}.task-name[data-v-32be5c3e]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-due[data-v-32be5c3e]{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.task-badges[data-v-32be5c3e]{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}.task-status-badge[data-v-32be5c3e]{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:3px 8px;border-radius:var(--radius-md);white-space:nowrap}.task-status-badge.status-todo[data-v-32be5c3e]{background:#e0e7ff;color:#4338ca}.task-status-badge.status-in-progress[data-v-32be5c3e]{background:#dbeafe;color:#1d4ed8}.task-status-badge.status-pending-review[data-v-32be5c3e]{background:#fef3c7;color:#d97706}.task-status-badge.status-done[data-v-32be5c3e]{background:#d1fae5;color:#059669}.task-status-badge.status-rejected[data-v-32be5c3e]{background:#fee2e2;color:#dc2626}.task-badge[data-v-32be5c3e]{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:3px 8px;border-radius:var(--radius-md);white-space:nowrap}.task-badge.priority-high[data-v-32be5c3e]{background:var(--error-color);color:#fff}.task-badge.priority-medium[data-v-32be5c3e]{background:var(--warning-color);color:#fff}.task-badge.priority-low[data-v-32be5c3e]{background:var(--success-color);color:#fff}.date-task-popover[data-v-32be5c3e]{position:absolute;top:50%;left:-276px;transform:translateY(-50%);width:260px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);padding:var(--space-4);z-index:20}.date-task-popover-header[data-v-32be5c3e]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.date-task-popover-title[data-v-32be5c3e]{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.date-task-popover-subtitle[data-v-32be5c3e]{margin:var(--space-1) 0 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.date-task-popover-close[data-v-32be5c3e]{border:none;background:transparent;cursor:pointer;font-size:18px;line-height:1;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);color:var(--text-tertiary)}.date-task-popover-close[data-v-32be5c3e]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.date-task-popover-body[data-v-32be5c3e]{margin-top:var(--space-3);max-height:140px;overflow-y:auto}.date-task-empty[data-v-32be5c3e]{padding:var(--space-3);text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.date-task-list[data-v-32be5c3e]{display:flex;flex-direction:column;gap:var(--space-2)}.date-task-item[data-v-32be5c3e]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-primary);border-radius:var(--radius-md);border-left:3px solid;box-shadow:var(--shadow-sm)}.slide-fade-enter-active[data-v-32be5c3e]{transition:all .3s ease}.slide-fade-leave-active[data-v-32be5c3e]{transition:all .2s ease}.slide-fade-enter-from[data-v-32be5c3e],.slide-fade-leave-to[data-v-32be5c3e]{transform:translateY(-10px);opacity:0}.alert-text[data-v-32be5c3e]{flex:1}.alert-title[data-v-32be5c3e]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-1) 0}.alert-subtitle[data-v-32be5c3e]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.widget-title[data-v-32be5c3e]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.calendar-header[data-v-32be5c3e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.month-year[data-v-32be5c3e]{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm)}.nav-btn[data-v-32be5c3e]{background:none;border:none;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.nav-btn[data-v-32be5c3e]:hover{background-color:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}.weekdays[data-v-32be5c3e]{margin-bottom:var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.calendar-days[data-v-32be5c3e],.weekdays[data-v-32be5c3e]{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.day[data-v-32be5c3e]{aspect-ratio:1;max-height:50px;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);font-weight:var(--font-medium)}@media (max-width:1024px){.day[data-v-32be5c3e]{aspect-ratio:unset;height:36px;max-height:36px}}@media (max-width:768px){.calendar-days[data-v-32be5c3e]{gap:2px}.day[data-v-32be5c3e]{aspect-ratio:unset;height:32px;max-height:32px}}@media (max-width:480px){.calendar-days[data-v-32be5c3e]{gap:1px}.day[data-v-32be5c3e]{aspect-ratio:unset;height:28px;max-height:28px}}.day[data-v-32be5c3e]:hover{background-color:var(--bg-tertiary);transform:scale(1.1)}.day.current-month[data-v-32be5c3e]{color:var(--text-primary);font-weight:var(--font-medium)}.day.today[data-v-32be5c3e]{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--text-inverse);font-weight:var(--font-semibold);box-shadow:var(--shadow-sm)}.day.selected[data-v-32be5c3e]{background:var(--primary-light);color:var(--primary-color);font-weight:var(--font-semibold);border:2px solid var(--primary-color)}.day.has-tasks[data-v-32be5c3e]{position:relative}.day.has-tasks.priority-high[data-v-32be5c3e]{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;font-weight:var(--font-semibold);border:2px solid #ef4444}.day.has-tasks.priority-high[data-v-32be5c3e]:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);transform:scale(1.1)}.day.has-tasks.priority-medium[data-v-32be5c3e]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;font-weight:var(--font-semibold);border:2px solid #f59e0b}.day.has-tasks.priority-medium[data-v-32be5c3e]:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);transform:scale(1.1)}.day.has-tasks.priority-low[data-v-32be5c3e]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669;font-weight:var(--font-semibold);border:2px solid #10b981}.day.has-tasks.priority-low[data-v-32be5c3e]:hover{background:linear-gradient(135deg,#a7f3d0,#6ee7b7);transform:scale(1.1)}.day.today.has-tasks.priority-high[data-v-32be5c3e]{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:2px solid #ef4444}.day.today.has-tasks.priority-medium[data-v-32be5c3e]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;border:2px solid #f59e0b}.day.today.has-tasks.priority-low[data-v-32be5c3e]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669;border:2px solid #10b981}.day.selected.has-tasks.priority-high[data-v-32be5c3e]{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:2px solid #ef4444}.day.selected.has-tasks.priority-medium[data-v-32be5c3e]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;border:2px solid #f59e0b}.day.selected.has-tasks.priority-low[data-v-32be5c3e]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669;border:2px solid #10b981}.day[data-v-32be5c3e]:not(.current-month){color:var(--text-disabled)}.day.current-month[data-v-32be5c3e]:hover{background-color:var(--bg-tertiary)}.day.today[data-v-32be5c3e]:hover{background:linear-gradient(135deg,var(--primary-hover),var(--primary-dark));transform:scale(1.1)}.stats-content[data-v-32be5c3e]{display:flex;flex-direction:column;gap:var(--space-5)}.stat-item[data-v-32be5c3e]{display:flex;flex-direction:column;gap:var(--space-2)}.stat-header[data-v-32be5c3e]{display:flex;justify-content:space-between;align-items:center}.stat-label[data-v-32be5c3e]{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.stat-value[data-v-32be5c3e]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.progress-bar[data-v-32be5c3e]{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill[data-v-32be5c3e]{height:100%;border-radius:var(--radius-full);transition:width var(--transition-normal);position:relative}.progress-fill.completed[data-v-32be5c3e]{background:linear-gradient(135deg,var(--success-color),var(--success-hover))}.progress-fill.work-hours[data-v-32be5c3e]{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark))}.progress-fill[data-v-32be5c3e]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);animation:shimmer-32be5c3e 2s infinite}@keyframes shimmer-32be5c3e{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (max-width:1200px){.right-sidebar[data-v-32be5c3e]{width:100%}}@media (max-width:768px){.right-sidebar[data-v-32be5c3e]{padding:0!important;max-width:100%!important}.calendar-header h3.widget-title[data-v-32be5c3e]{font-size:16px!important;margin-bottom:8px!important;padding:0 12px!important}.calendar-widget[data-v-32be5c3e],.task-alert-widget[data-v-32be5c3e]{padding:10px!important;margin-bottom:10px!important}.widget-header[data-v-32be5c3e]{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.edit-btn[data-v-32be5c3e]{align-self:flex-end}.calendar[data-v-32be5c3e]{max-width:100%!important}.calendar-grid[data-v-32be5c3e]{font-size:12px!important}.calendar-days[data-v-32be5c3e]{gap:2px!important}.weekdays[data-v-32be5c3e]{margin-bottom:4px!important}.weekdays span[data-v-32be5c3e]{font-size:11px!important;padding:4px 2px!important}.day[data-v-32be5c3e]{aspect-ratio:unset!important;height:32px!important;line-height:32px!important;font-size:12px!important;padding:0!important}.calendar .calendar-header[data-v-32be5c3e]{padding:8px!important;margin-bottom:8px!important}.calendar-header .month-year[data-v-32be5c3e]{font-size:14px!important}.calendar-header .nav-btn[data-v-32be5c3e]{width:28px!important;height:28px!important;font-size:16px!important}.task-alert-widget[data-v-32be5c3e]{max-height:200px!important;overflow-y:auto!important}.task-alert-widget .widget-title[data-v-32be5c3e]{font-size:14px!important;margin-bottom:8px!important}.alert-message[data-v-32be5c3e]{padding:8px!important}.alert-title[data-v-32be5c3e]{font-size:12px!important}.alert-subtitle[data-v-32be5c3e]{font-size:10px!important}.urgent-task-item[data-v-32be5c3e]{padding:8px!important;margin-bottom:6px!important}.task-name[data-v-32be5c3e]{font-size:12px!important}.task-due[data-v-32be5c3e]{font-size:10px!important}}@media (max-width:480px){.right-sidebar[data-v-32be5c3e]{padding:0!important;max-width:100%!important}.calendar-header h3.widget-title[data-v-32be5c3e]{font-size:14px!important;margin-bottom:6px!important;padding:0 8px!important}.calendar-widget[data-v-32be5c3e],.task-alert-widget[data-v-32be5c3e]{padding:8px!important;margin-bottom:8px!important}.calendar[data-v-32be5c3e]{max-width:100%!important}.calendar-grid[data-v-32be5c3e]{font-size:11px!important}.calendar-days[data-v-32be5c3e]{gap:1px!important}.weekdays[data-v-32be5c3e]{margin-bottom:2px!important}.weekdays span[data-v-32be5c3e]{font-size:10px!important;padding:3px 1px!important}.day[data-v-32be5c3e]{aspect-ratio:unset!important;height:28px!important;line-height:28px!important;font-size:11px!important;padding:0!important}.calendar .calendar-header[data-v-32be5c3e]{padding:6px!important;margin-bottom:6px!important}.calendar-header .month-year[data-v-32be5c3e]{font-size:13px!important}.calendar-header .nav-btn[data-v-32be5c3e]{width:24px!important;height:24px!important;font-size:14px!important}.task-alert-widget[data-v-32be5c3e]{max-height:150px!important}.task-alert-widget .widget-title[data-v-32be5c3e]{font-size:13px!important;margin-bottom:6px!important}.alert-message[data-v-32be5c3e]{padding:6px!important;gap:6px!important}.alert-message svg[data-v-32be5c3e]{width:14px!important;height:14px!important}.alert-title[data-v-32be5c3e]{font-size:11px!important}.alert-subtitle[data-v-32be5c3e]{font-size:9px!important}.urgent-task-item[data-v-32be5c3e]{padding:6px!important;margin-bottom:4px!important}.task-name[data-v-32be5c3e]{font-size:11px!important}.task-due[data-v-32be5c3e]{font-size:9px!important}.task-badge[data-v-32be5c3e]{font-size:8px!important;padding:2px 4px!important}}.dark-mode .right-sidebar .calendar-widget[data-v-32be5c3e],.dark-mode .right-sidebar .task-alert-widget[data-v-32be5c3e],.dark-mode .right-sidebar[data-v-32be5c3e]{background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}.dark-mode .right-sidebar .month-year[data-v-32be5c3e],.dark-mode .right-sidebar .widget-title[data-v-32be5c3e]{color:#f1f5f9!important}.dark-mode .right-sidebar .nav-btn[data-v-32be5c3e]{color:#cbd5e1!important}.dark-mode .right-sidebar .nav-btn[data-v-32be5c3e]:hover{background-color:#334155!important;color:#f1f5f9!important}.dark-mode .right-sidebar .weekdays[data-v-32be5c3e]{color:#cbd5e1!important}.dark-mode .right-sidebar .day[data-v-32be5c3e]{color:#94a3b8!important}.dark-mode .right-sidebar .day.current-month[data-v-32be5c3e]{color:#f1f5f9!important}.dark-mode .right-sidebar .day.current-month[data-v-32be5c3e]:hover,.dark-mode .right-sidebar .day[data-v-32be5c3e]:hover{background-color:#334155!important}.dark-mode .right-sidebar .day.today[data-v-32be5c3e]{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important}.dark-mode .right-sidebar .day.today[data-v-32be5c3e]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important}.dark-mode .right-sidebar .day.selected[data-v-32be5c3e]{background:#334155!important;color:#60a5fa!important;border-color:#60a5fa!important}.dark-mode .right-sidebar .day.has-tasks.priority-high[data-v-32be5c3e]{background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;color:#fca5a5!important;border-color:#ef4444!important}.dark-mode .right-sidebar .day.has-tasks.priority-high[data-v-32be5c3e]:hover{background:linear-gradient(135deg,#991b1b,#b91c1c)!important}.dark-mode .right-sidebar .day.has-tasks.priority-medium[data-v-32be5c3e]{background:linear-gradient(135deg,#78350f,#92400e)!important;color:#fcd34d!important;border-color:#f59e0b!important}.dark-mode .right-sidebar .day.has-tasks.priority-medium[data-v-32be5c3e]:hover{background:linear-gradient(135deg,#92400e,#a16207)!important}.dark-mode .right-sidebar .day.has-tasks.priority-low[data-v-32be5c3e]{background:linear-gradient(135deg,#064e3b,#065f46)!important;color:#6ee7b7!important;border-color:#10b981!important}.dark-mode .right-sidebar .day.has-tasks.priority-low[data-v-32be5c3e]:hover{background:linear-gradient(135deg,#065f46,#047857)!important}.dark-mode .right-sidebar .day.today.has-tasks.priority-high[data-v-32be5c3e]{background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;color:#fca5a5!important;border-color:#ef4444!important}.dark-mode .right-sidebar .day.today.has-tasks.priority-medium[data-v-32be5c3e]{background:linear-gradient(135deg,#78350f,#92400e)!important;color:#fcd34d!important;border-color:#f59e0b!important}.dark-mode .right-sidebar .day.today.has-tasks.priority-low[data-v-32be5c3e]{background:linear-gradient(135deg,#064e3b,#065f46)!important;color:#6ee7b7!important;border-color:#10b981!important}.dark-mode .right-sidebar .day.selected.has-tasks.priority-high[data-v-32be5c3e]{background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;color:#fca5a5!important;border-color:#ef4444!important}.dark-mode .right-sidebar .day.selected.has-tasks.priority-medium[data-v-32be5c3e]{background:linear-gradient(135deg,#78350f,#92400e)!important;color:#fcd34d!important;border-color:#f59e0b!important}.dark-mode .right-sidebar .day.selected.has-tasks.priority-low[data-v-32be5c3e]{background:linear-gradient(135deg,#064e3b,#065f46)!important;color:#6ee7b7!important;border-color:#10b981!important}.dark-mode .right-sidebar .day[data-v-32be5c3e]:not(.current-month){color:#475569!important}.dark-mode .right-sidebar .task-alert-widget[data-v-32be5c3e]{border-color:#475569!important}.dark-mode .right-sidebar .task-alert-widget.urgent[data-v-32be5c3e]{border-color:#ef4444!important;background:linear-gradient(135deg,#1e293b,#7f1d1d)!important}.dark-mode .right-sidebar .alert-message.urgent[data-v-32be5c3e]{background:#7f1d1d!important}.dark-mode .right-sidebar .alert-message.safe[data-v-32be5c3e]{background:#1e3a5f!important}.dark-mode .right-sidebar .alert-title[data-v-32be5c3e]{color:#f1f5f9!important}.dark-mode .right-sidebar .alert-subtitle[data-v-32be5c3e]{color:#cbd5e1!important}.dark-mode .right-sidebar .urgent-task-item[data-v-32be5c3e]{background:#1e293b!important}.dark-mode .right-sidebar .urgent-task-item.priority-high[data-v-32be5c3e]{background:linear-gradient(135deg,#1e293b,#450a0a)!important}.dark-mode .right-sidebar .urgent-task-item.priority-medium[data-v-32be5c3e]{background:linear-gradient(135deg,#1e293b,#451a03)!important}.dark-mode .right-sidebar .urgent-task-item.priority-low[data-v-32be5c3e]{background:linear-gradient(135deg,#1e293b,#052e16)!important}.dark-mode .right-sidebar .task-name[data-v-32be5c3e]{color:#f1f5f9!important}.dark-mode .right-sidebar .expand-icon[data-v-32be5c3e],.dark-mode .right-sidebar .task-due[data-v-32be5c3e]{color:#cbd5e1!important}.dark-mode .right-sidebar .urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar{width:6px}.dark-mode .right-sidebar .urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar-track{background:#1e293b;border-radius:3px}.dark-mode .right-sidebar .urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar-thumb{background:#475569;border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.dark-mode .right-sidebar .urgent-task-list[data-v-32be5c3e]::-webkit-scrollbar-thumb:hover{background:#64748b}.home-container{min-height:100vh;background-color:var(--bg-secondary);display:flex;flex-direction:column;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.home-container .top-header{position:fixed;top:0;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);height:64px;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);z-index:10000;transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1)}.home-container .header-left{display:flex;align-items:center;gap:16px}.home-container .menu-btn{background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.home-container .menu-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.05)}.home-container .page-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);line-height:1;margin:0;padding:0;display:inline-flex;align-items:center;transform:translateY(-1px)}.home-container .theme-toggle-btn{width:40px;height:40px;border-radius:50%;border:none;background:#f1f5f9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55),box-shadow .3s ease,background .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#f59e0b;z-index:10002;position:relative;overflow:hidden}.home-container .theme-toggle-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.3) 0,transparent 70%);transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.home-container .theme-toggle-btn:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px rgba(245,158,11,.4);background:#e2e8f0}.home-container .theme-toggle-btn:hover:before{width:120%;height:120%}.home-container .theme-toggle-btn:active{transform:scale(.92) rotate(-5deg)}.home-container .theme-icon{transition:transform .4s cubic-bezier(.68,-.55,.265,1.55)}.home-container .theme-toggle-btn:hover .theme-icon{transform:rotate(1turn) scale(1.1)}.home-container .theme-toggle-btn:active .theme-icon{transform:rotate(1turn) scale(.9)}.theme-transition-circle{position:fixed;width:0;height:0;border-radius:50%;pointer-events:none;z-index:999999;transform:translate(-50%,-50%);will-change:width,height,opacity,transform}.theme-transition-circle.expand-dark{background:radial-gradient(circle,rgba(15,23,42,.98) 0,rgba(15,23,42,.9) 50%,rgba(15,23,42,.75) 100%);box-shadow:0 0 100px 80px rgba(15,23,42,.4);animation:expandDark .85s cubic-bezier(.4,0,.2,1) forwards}.theme-transition-circle.expand-light{background:radial-gradient(circle,hsla(0,0%,100%,.98) 0,rgba(241,245,249,.9) 50%,rgba(226,232,240,.75) 100%);box-shadow:0 0 100px 80px hsla(0,0%,100%,.4);animation:expandLight .85s cubic-bezier(.4,0,.2,1) forwards}@keyframes expandDark{0%{width:0;height:0;opacity:0;transform:translate(-50%,-50%) scale(0)}30%{opacity:1}to{width:300vh;height:300vh;opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes expandLight{0%{width:0;height:0;opacity:0;transform:translate(-50%,-50%) scale(0)}30%{opacity:1}to{width:300vh;height:300vh;opacity:0;transform:translate(-50%,-50%) scale(1)}}.home-container *{transition-property:background-color,border-color,color;transition-duration:.35s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.home-container .user-profile{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .3s ease}.home-container .user-profile:hover{background-color:#f8f9fa}.home-container .user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center}.home-container .user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.home-container .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#666}.home-container .username{font-weight:500;color:#333}.home-container .user-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid #e9ecef;min-width:160px;z-index:9999;animation:fadeIn .2s ease-out}.home-container .menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .3s ease;font-size:14px;color:#333}.home-container .menu-item:hover{background-color:#f8f9fa}.home-container .menu-item:first-child{border-radius:8px 8px 0 0}.home-container .menu-item:last-child{border-radius:0 0 8px 8px}.home-container .menu-item svg{color:#666}.home-container .rotate{transform:rotate(180deg);transition:transform .3s ease}.home-container .main-content{flex:1;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);padding-top:calc(var(--space-6) + 64px)}.home-container .quick-actions{width:calc(100% - 340px - var(--space-6));margin-right:var(--space-6)}.home-container .three-column-row{display:flex;gap:var(--space-6);align-items:flex-start;position:relative}.home-container .three-column-row .right-sidebar-column{position:relative;margin-top:calc((var(--space-6) + 254px)*-1)}.home-container .right-sidebar-column .right-sidebar{height:calc(758px + var(--space-6))}.home-container .section-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--border-primary);transition:all .4s cubic-bezier(.4,0,.2,1),background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.home-container .section-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.home-container .section-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-5) 0;background:linear-gradient(135deg,var(--text-primary),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-container .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.home-container .more-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.home-container .more-btn:hover{background-color:#f8f9fa}.home-container .action-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.home-container .action-card{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center;cursor:pointer;transition:all var(--transition-normal);min-width:0;position:relative;overflow:hidden}.home-container .action-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--info-color),var(--success-color));transform:scaleX(0);transition:transform var(--transition-normal)}.home-container .action-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.home-container .action-card:hover:before{transform:scaleX(1)}.home-container .card-icon{width:56px;height:56px;margin:0 auto var(--space-3);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-light),var(--info-light));border-radius:var(--radius-xl);color:var(--primary-color);transition:all var(--transition-normal)}.home-container .action-card:hover .card-icon{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--text-inverse);transform:scale(1.1)}.home-container .card-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);transition:color var(--transition-normal)}.home-container .action-card:hover .card-label{color:var(--primary-color)}.home-container .work-item-list{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 0;overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:4px}.home-container .work-item-list::-webkit-scrollbar{width:6px}.home-container .work-item-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.home-container .work-item-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.home-container .work-item-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.home-container .work-item{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;gap:var(--space-4);border-left:4px solid;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border:1px solid var(--border-primary);min-width:0;overflow:hidden;flex-shrink:0;max-width:100%}.home-container .work-item:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.home-container .work-item.high-priority{border-left-color:var(--error-color);background:linear-gradient(135deg,var(--bg-primary),var(--error-light))}.home-container .work-item.medium-priority{border-left-color:var(--warning-color);background:linear-gradient(135deg,var(--bg-primary),var(--warning-light))}.home-container .work-item.low-priority{border-left-color:var(--success-color);background:linear-gradient(135deg,var(--bg-primary),var(--success-light))}.home-container .priority-bar{width:4px;background:currentColor;border-radius:2px}.home-container .item-content{flex:1;min-width:0;overflow:hidden}.home-container .item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);flex-shrink:0}.home-container .item-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-container .deadline-alert{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-md);font-size:11px;font-weight:600;white-space:nowrap;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;transition:all var(--transition-fast)}.home-container .deadline-alert svg{flex-shrink:0}.home-container .deadline-alert.near{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;box-shadow:0 2px 6px rgba(245,158,11,.2)}.home-container .rejected-badge{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-md);font-size:11px;font-weight:600;white-space:nowrap;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;box-shadow:0 2px 6px rgba(239,68,68,.2);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;transition:all var(--transition-fast)}.home-container .rejected-badge svg{flex-shrink:0}.home-container .rejected-badge .alert-text{font-size:11px;font-weight:600}.home-container .deadline-alert.near svg{color:#f59e0b}.home-container .deadline-alert.overdue{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;box-shadow:0 2px 6px rgba(239,68,68,.25)}.home-container .deadline-alert.overdue svg{color:#ef4444}.home-container .deadline-alert:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.15)}.home-container .deadline-alert .alert-text{line-height:1}.home-container .item-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-3) 0;line-height:var(--leading-relaxed);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-word;max-width:100%}.home-container .item-meta{display:flex;gap:16px;font-size:12px;flex-shrink:0}.home-container .priority{font-weight:500}.home-container .deadline{color:#666}.home-container .work-items{flex:1;min-width:0}.home-container .work-items .section-card{height:500px;display:flex;flex-direction:column;overflow:hidden}.home-container .my-projects{flex:0 1 450px;min-width:0;max-width:600px}.home-container .my-projects .section-card{height:500px;display:flex;flex-direction:column;overflow:hidden}.home-container .project-list{display:flex;flex-direction:column;gap:0;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding-top:4px;padding-right:4px}.home-container .project-list::-webkit-scrollbar{width:6px}.home-container .project-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.home-container .project-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.home-container .project-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.home-container .project-card:not(:first-child){margin-top:-2px}.home-container .right-sidebar-column{flex:0 0 340px;display:flex;width:340px}.home-container .project-card{display:flex;gap:var(--space-3);padding:var(--space-3);padding-right:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--transition-normal);cursor:pointer;box-sizing:border-box;min-height:120px}.home-container .project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-color)}.home-container .project-icon{width:40px;height:40px;min-width:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;transition:all var(--transition-normal)}.home-container .project-card:hover .project-icon{transform:scale(1.05)}.home-container .blue-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.home-container .multi-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.home-container .weather-icon{background:linear-gradient(135deg,#06b6d4,#0891b2)}.home-container .project-content{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;width:100%;max-width:100%;box-sizing:border-box}.home-container .project-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.home-container .project-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 6px 0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-container .loading-projects,.home-container .loading-tasks,.home-container .no-projects,.home-container .no-tasks{padding:var(--space-8);text-align:center;color:var(--text-secondary)}.home-container .project-meta{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin:0;padding:0}.home-container .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:var(--text-xs);font-weight:var(--font-medium);line-height:1.5}.home-container .status-inprogress{background:#dbeafe;color:#1e40af}.home-container .status-ongoing{background:#fef3c7;color:#92400e}.home-container .status-completed{background:#d1fae5;color:#065f46}.home-container .progress-text{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium);white-space:nowrap;flex-shrink:0}.home-container .right-sidebar{display:flex;flex-direction:column;height:100%}@media (max-width:1400px){.home-container .quick-actions{width:calc(100% - 340px - var(--space-6));margin-right:var(--space-6)}}@media (max-width:1300px){.home-container .quick-actions{width:calc(100% - 360px);margin-right:20px}}@media (max-width:1200px){.home-container .quick-actions{width:100%}.home-container .three-column-row{flex-direction:column}.home-container .three-column-row .right-sidebar-column{margin-top:0}.home-container .my-projects,.home-container .work-items{flex:1!important;width:100%!important;max-width:100%!important;min-width:0!important}.home-container .right-sidebar-column{flex:1;max-width:100%;width:100%}.home-container .action-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:1000px){.home-container .main-content{padding:16px;gap:20px}.home-container .action-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.home-container .main-content{padding:12px!important;padding-top:80px!important;gap:16px!important}.home-container .section-card{padding:16px!important}.home-container .section-title{font-size:18px!important;margin-bottom:12px!important}.home-container .action-cards{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.home-container .action-card{padding:16px!important}.home-container .card-icon{width:48px!important;height:48px!important}.home-container .project-card,.home-container .work-item{padding:12px!important;gap:12px!important}.home-container .item-title,.home-container .project-title{font-size:14px!important;line-height:1.4!important;white-space:normal!important}.home-container .item-description,.home-container .project-description{font-size:12px!important;line-height:1.5!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important}.home-container .project-icon{width:36px!important;height:36px!important;min-width:36px!important}.home-container .project-icon svg{width:20px!important;height:20px!important}.home-container .project-meta{font-size:11px!important;gap:8px!important}.home-container .my-projects,.home-container .work-items{width:100%!important;max-width:100%!important;flex:1!important}.home-container .my-projects .section-card{height:auto!important;max-height:400px!important}.home-container .project-list{max-height:320px!important}.home-container .right-sidebar-column{width:100%!important;flex:1!important}}@media (max-width:480px){.home-container .main-content{padding:8px!important;padding-top:75px!important;gap:12px!important}.home-container .top-header{padding:12px 16px!important}.home-container .page-title{font-size:18px!important}.home-container .section-card{padding:12px!important}.home-container .section-title{font-size:16px!important;margin-bottom:10px!important}.home-container .action-cards{grid-template-columns:1fr!important}.home-container .action-card{padding:12px!important}.home-container .card-label{font-size:14px!important}.home-container .card-icon{width:40px!important;height:40px!important}.home-container .project-card,.home-container .work-item{padding:10px!important;gap:10px!important}.home-container .item-title,.home-container .project-title{font-size:13px!important;line-height:1.3!important;white-space:normal!important}.home-container .item-description,.home-container .project-description{font-size:11px!important;line-height:1.4!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.home-container .item-meta,.home-container .project-meta{font-size:10px!important;gap:6px!important}.home-container .project-icon{width:32px!important;height:32px!important;min-width:32px!important}.home-container .project-icon svg{width:18px!important;height:18px!important}.home-container .my-projects,.home-container .work-items{width:100%!important;max-width:100%!important;flex:1!important}.home-container .my-projects .section-card{max-height:350px!important}.home-container .project-list{max-height:280px!important}.home-container .status-badge{padding:2px 8px!important;font-size:10px!important}.home-container .progress-text{font-size:10px!important}}.home-container .modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.home-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:400px;width:90%;max-height:90vh;overflow:hidden}.home-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px}.home-container .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.home-container .modal-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280;transition:all .2s ease}.home-container .modal-close:hover{background:#f3f4f6;color:#374151}.home-container .modal-body{padding:20px 24px}.home-container .modal-body p{margin:0;font-size:16px;color:#374151;line-height:1.5}.home-container .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 20px}.footer-wrapper{margin-top:70px}.home-container .modal-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.home-container .modal-btn-cancel{background:#f3f4f6;color:#374151}.home-container .modal-btn-cancel:hover{background:#e5e7eb}.home-container .modal-btn-confirm{background:#3b82f6;color:#fff}.home-container .modal-btn-confirm:hover{background:#2563eb}.dark-mode .home-container{background-color:#0a0f1a}.dark-mode .home-container .top-header{background:#1e293b;border-bottom-color:#334155}.dark-mode .home-container .page-title{color:#f1f5f9}.dark-mode .home-container .menu-btn{color:#cbd5e1}.dark-mode .home-container .menu-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .home-container .theme-toggle-btn{background:#334155;color:#fbbf24;box-shadow:0 2px 8px rgba(251,191,36,.2)}.dark-mode .home-container .theme-toggle-btn:before{background:radial-gradient(circle,rgba(251,191,36,.3) 0,transparent 70%)}.dark-mode .home-container .theme-toggle-btn:hover{background:#475569;box-shadow:0 6px 20px rgba(251,191,36,.4);transform:scale(1.1) rotate(-5deg)}.dark-mode .home-container .theme-toggle-btn:active{transform:scale(.92) rotate(5deg)}.dark-mode .home-container .main-content{background-color:#0a0f1a}.dark-mode .home-container .section-card{background:#1e293b;border-color:#334155;color:#f1f5f9;box-shadow:0 4px 12px rgba(0,0,0,.3)}.dark-mode .home-container .section-card:hover{background:#1e293b;border-color:#475569;box-shadow:0 10px 25px rgba(0,0,0,.5)}.dark-mode .home-container .section-title{color:#f1f5f9;background:linear-gradient(135deg,#f1f5f9,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .home-container .action-card{background:#1e293b;border-color:#334155;color:#f1f5f9;box-shadow:0 2px 8px rgba(0,0,0,.2)}.dark-mode .home-container .action-card:hover{background:#334155;border-color:#475569;box-shadow:0 4px 12px rgba(0,0,0,.4)}.dark-mode .home-container .action-card .card-icon{color:#60a5fa}.dark-mode .home-container .action-card .card-label{color:#cbd5e1}.dark-mode .home-container .work-item{background:#1e293b;border-color:#334155;color:#f1f5f9}.dark-mode .home-container .work-item.high-priority{background:linear-gradient(135deg,#1e293b,#2a1a1f);border-left-color:#ef4444}.dark-mode .home-container .work-item.medium-priority{background:linear-gradient(135deg,#1e293b,#2a241a);border-left-color:#f59e0b}.dark-mode .home-container .work-item.low-priority{background:linear-gradient(135deg,#1e293b,#1a2a22);border-left-color:#10b981}.dark-mode .home-container .item-title{color:#f1f5f9}.dark-mode .home-container .item-description,.dark-mode .home-container .priority{color:#cbd5e1}.dark-mode .home-container .deadline{color:#94a3b8}.dark-mode .home-container .deadline-alert.near{background:linear-gradient(135deg,#451a03,#78350f);color:#fbbf24;box-shadow:0 2px 8px rgba(251,191,36,.15)}.dark-mode .home-container .deadline-alert.near svg{color:#fbbf24}.dark-mode .home-container .deadline-alert.overdue{background:linear-gradient(135deg,#450a0a,#7f1d1d);color:#fca5a5;box-shadow:0 2px 8px hsla(0,94%,82%,.2)}.dark-mode .home-container .deadline-alert.overdue svg{color:#fca5a5}.dark-mode .home-container .project-card{background:#1e293b;border-color:#334155;color:#f1f5f9;box-shadow:0 2px 6px rgba(0,0,0,.2)}.dark-mode .home-container .project-card:hover{background:#334155;border-color:#475569;box-shadow:0 4px 12px rgba(0,0,0,.4)}.dark-mode .home-container .project-title{color:#f1f5f9}.dark-mode .home-container .project-description{color:#cbd5e1}.dark-mode .home-container .status-badge{background:#334155;color:#cbd5e1;box-shadow:0 1px 3px rgba(0,0,0,.3)}.dark-mode .home-container .status-inprogress{background:#1e3a5f;color:#93c5fd}.dark-mode .home-container .status-ongoing{background:#3d2812;color:#fbbf24}.dark-mode .home-container .status-completed{background:#064e3b;color:#6ee7b7}.dark-mode .home-container .progress-text{color:#94a3b8}.dark-mode .home-container .more-btn{color:#cbd5e1}.dark-mode .home-container .more-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .home-container .modal-overlay{background-color:rgba(0,0,0,.7)}.dark-mode .home-container .modal-content{background:#1e293b;border-color:#334155}.dark-mode .home-container .modal-header h3{color:#f1f5f9}.dark-mode .home-container .modal-body p{color:#cbd5e1}.dark-mode .home-container .modal-btn-cancel{background:#334155;color:#cbd5e1}.dark-mode .home-container .modal-btn-cancel:hover{background:#475569;color:#f1f5f9}.dark-mode .home-container :deep(.right-sidebar),.dark-mode .home-container :deep(.right-sidebar-column .right-sidebar){background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}.dark-mode .home-container :deep(.calendar-widget){background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important}.dark-mode .home-container :deep(.widget-title){color:#f1f5f9!important}.dark-mode .home-container :deep(.month-year){color:#f1f5f9!important}.dark-mode .home-container :deep(.nav-btn){color:#cbd5e1!important}.dark-mode .home-container :deep(.nav-btn:hover){background-color:#334155!important;color:#f1f5f9!important}.dark-mode .home-container :deep(.weekdays){color:#cbd5e1!important}.dark-mode .home-container :deep(.weekdays span){color:#cbd5e1!important}.dark-mode .home-container :deep(.day){color:#94a3b8!important}.dark-mode .home-container :deep(.day.current-month){color:#f1f5f9!important}.dark-mode .home-container :deep(.day:hover){background-color:#334155!important}.dark-mode .home-container :deep(.day.current-month:hover){background-color:#334155!important}.dark-mode .home-container :deep(.day.today){background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important}.dark-mode .home-container :deep(.day.today:hover){background:linear-gradient(135deg,#2563eb,#1d4ed8)!important}.dark-mode .home-container :deep(.day.selected){background:#334155!important;color:#60a5fa!important;border-color:#60a5fa!important}.dark-mode .home-container :deep(.day:not(.current-month)){color:#475569!important}.dark-mode .home-container :deep(.task-alert-widget){background:#1e293b!important;border-color:#475569!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important}.dark-mode .home-container :deep(.task-alert-widget.urgent){border-color:#ef4444!important;background:linear-gradient(135deg,#1e293b,#2a1a1f)!important;box-shadow:0 4px 12px rgba(239,68,68,.2)!important}.dark-mode .home-container :deep(.alert-message.urgent){background:#7f1d1d!important;border:1px solid rgba(239,68,68,.3)!important}.dark-mode .home-container :deep(.alert-message.safe){background:#1e3a5f!important;border:1px solid rgba(59,130,246,.3)!important}.dark-mode .home-container :deep(.alert-title){color:#f1f5f9!important}.dark-mode .home-container :deep(.alert-subtitle){color:#cbd5e1!important}.dark-mode .home-container .work-item-list::-webkit-scrollbar-track{background:#334155!important}.dark-mode .home-container .work-item-list::-webkit-scrollbar-thumb{background:#475569!important}.dark-mode .home-container .work-item-list::-webkit-scrollbar-thumb:hover{background:#64748b!important}.dark-mode .home-container .project-list::-webkit-scrollbar-track{background:#334155!important}.dark-mode .home-container .project-list::-webkit-scrollbar-thumb{background:#475569!important}.dark-mode .home-container .project-list::-webkit-scrollbar-thumb:hover{background:#64748b!important}.home-container .task-detail-modal{max-width:800px;width:90%}.home-container .task-detail-body{max-height:60vh;overflow-y:auto;padding:20px}.home-container .task-detail-section{margin-bottom:20px}.home-container .task-detail-label{display:block;font-size:14px;font-weight:600;color:#495057;margin-bottom:8px}.home-container .task-detail-value{font-size:15px;color:#333;line-height:1.6}.home-container .task-description-scroll{max-height:200px;overflow-y:auto;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;white-space:pre-wrap;word-wrap:break-word}.home-container .task-priority-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.home-container .task-priority-badge.priority-high{background:#fee2e2;color:#dc2626}.home-container .task-priority-badge.priority-medium{background:#fef3c7;color:#d97706}.home-container .task-priority-badge.priority-low{background:#d1fae5;color:#059669}.home-container .task-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;background:#e5e7eb;color:#374151}.dark-mode .home-container .task-detail-label{color:#cbd5e1!important}.dark-mode .home-container .task-detail-value{color:#f1f5f9!important}.dark-mode .home-container .task-description-scroll{background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}.dark-mode .home-container .task-priority-badge.priority-high{background:#7f1d1d!important;color:#fca5a5!important}.dark-mode .home-container .task-priority-badge.priority-medium{background:#78350f!important;color:#fcd34d!important}.dark-mode .home-container .task-priority-badge.priority-low{background:#064e3b!important;color:#6ee7b7!important}.dark-mode .home-container .task-status-badge{background:#334155!important;color:#cbd5e1!important}.home-container .task-detail-header-content{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.home-container .task-detail-badges{display:flex;gap:8px;align-items:center}.home-container .task-title-section{margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.home-container .task-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.home-container .task-title-value{font-size:24px;font-weight:700;color:#111827;line-height:1.3;flex:1;min-width:0}.home-container .deadline-warning{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.home-container .deadline-warning.overdue{background:#fee2e2;color:#dc2626}.home-container .deadline-warning.near{background:#fef3c7;color:#d97706}.home-container .task-detail-label{display:flex;align-items:center;gap:8px;margin-bottom:10px}.home-container .task-detail-label svg{color:#6b7280;flex-shrink:0}.home-container .task-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.home-container .task-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;transition:all .2s ease}.home-container .task-info-card:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.home-container .task-info-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.home-container .task-info-icon.priority{background:linear-gradient(135deg,#f59e0b,#d97706)}.home-container .task-info-icon.status{background:linear-gradient(135deg,#3b82f6,#2563eb)}.home-container .task-info-icon.deadline{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.home-container .task-info-icon.project{background:linear-gradient(135deg,#10b981,#059669)}.home-container .task-info-content{flex:1;min-width:0}.home-container .task-info-label{font-size:12px;color:#6b7280;margin-bottom:6px;font-weight:500}.home-container .task-info-value{font-size:14px;color:#111827;font-weight:600}.home-container .project-link-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.home-container .project-link-btn:hover{background:#2563eb;transform:translateX(2px)}.home-container .project-link-btn svg{transition:transform .2s ease}.home-container .project-link-btn:hover svg{transform:translate(2px,-2px)}.home-container .task-status-badge.status-pending,.home-container .task-status-badge.status-todo{background:#e5e7eb;color:#374151}.home-container .task-status-badge.status-in_progress,.home-container .task-status-badge.status-inprogress{background:#dbeafe;color:#1e40af}.home-container .task-status-badge.status-blocked{background:#fee2e2;color:#dc2626}.home-container .task-status-badge.status-completed,.home-container .task-status-badge.status-done{background:#d1fae5;color:#059669}.dark-mode .home-container .task-title-value{color:#f1f5f9!important}.dark-mode .home-container .task-title-section{border-bottom-color:#334155!important}.dark-mode .home-container .deadline-warning.overdue{background:#7f1d1d!important;color:#fca5a5!important}.dark-mode .home-container .deadline-warning.near{background:#78350f!important;color:#fcd34d!important}.dark-mode .home-container .task-detail-label svg{color:#94a3b8!important}.dark-mode .home-container .task-info-card{background:#1e293b!important;border-color:#334155!important}.dark-mode .home-container .task-info-card:hover{background:#334155!important;border-color:#475569!important}.dark-mode .home-container .task-info-label{color:#94a3b8!important}.dark-mode .home-container .task-info-value{color:#f1f5f9!important}.dark-mode .home-container .task-status-badge.status-pending,.dark-mode .home-container .task-status-badge.status-todo{background:#334155!important;color:#cbd5e1!important}.dark-mode .home-container .task-status-badge.status-in_progress,.dark-mode .home-container .task-status-badge.status-inprogress{background:#1e3a5f!important;color:#93c5fd!important}.dark-mode .home-container .task-status-badge.status-blocked{background:#7f1d1d!important;color:#fca5a5!important}.dark-mode .home-container .task-status-badge.status-completed,.dark-mode .home-container .task-status-badge.status-done{background:#064e3b!important;color:#6ee7b7!important}.oauth2-success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.85);color:#fff;padding:16px 32px;border-radius:8px;font-size:16px;font-weight:500;z-index:99999;box-shadow:0 4px 12px rgba(0,0,0,.3);pointer-events:none}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter,.fade-leave-to{opacity:0}.scifi-bg-layer{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.9;transition:opacity .4s ease}.scifi-bg-layer canvas{width:100%;height:100%;display:block}.avatar-crop-modal-overlay~.scifi-bg-layer,.modal-overlay~.scifi-bg-layer{opacity:.6}.guest-welcome[data-v-19c3b6a5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;min-height:200px}.welcome-icon[data-v-19c3b6a5]{margin-bottom:16px;color:#6b7280;opacity:.8}.welcome-title[data-v-19c3b6a5]{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px 0}.welcome-desc[data-v-19c3b6a5]{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.empty-projects[data-v-19c3b6a5],.empty-tasks[data-v-19c3b6a5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;min-height:200px}.empty-icon[data-v-19c3b6a5]{margin-bottom:16px;color:#6b7280;opacity:.8}.empty-title[data-v-19c3b6a5]{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px 0}.empty-desc[data-v-19c3b6a5]{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.no-projects[data-v-19c3b6a5],.no-tasks[data-v-19c3b6a5]{min-height:200px;display:flex;align-items:center;justify-content:center}.project-square-container{min-height:100vh;background-color:var(--bg-secondary);display:flex;flex-direction:column}.project-square-container .top-header{position:fixed;top:0;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);height:64px;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);z-index:var(--z-sticky)}.project-square-container .header-left{display:flex;align-items:center;gap:16px}.project-square-container .back-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease;margin-right:8px}.project-square-container .back-btn:hover{background-color:#f8f9fa;color:#333}.project-square-container .menu-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.project-square-container .menu-btn:hover{background-color:#f8f9fa}.project-square-container .page-title{font-size:18px;font-weight:600;color:#333;line-height:1;margin:0;padding:0;display:inline-flex;align-items:center;transform:translateY(-1px)}.project-square-container .main-content{flex:1;padding:var(--space-5) var(--space-6) 0;padding-top:calc(var(--space-5) + 64px);display:flex;flex-direction:column;height:calc(100vh - 64px)}.project-square-container .content-wrapper{flex:1;display:flex;flex-direction:column;height:100%;min-height:0}.project-square-container .toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);padding:var(--space-3);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.project-square-container .search-input{flex:1;height:40px;border:2px solid var(--border-primary);border-radius:var(--radius-lg);padding:0 var(--space-4);outline:none;font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-normal)}.project-square-container .search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.project-square-container .toolbar-actions{display:flex;gap:10px;position:relative}.project-square-container .btn{height:40px;padding:0 var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-normal);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.project-square-container .btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.project-square-container .btn.secondary{background:var(--bg-tertiary);border-color:var(--border-secondary)}.project-square-container .btn.primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-color:var(--primary-color);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.project-square-container .btn.primary:hover{background:linear-gradient(135deg,var(--primary-hover),var(--primary-dark));box-shadow:var(--shadow-lg)}.project-square-container .btn-block{width:100%;margin-top:10px}.project-square-container .dropdown{position:relative}.project-square-container .dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:120px;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.08);z-index:10;list-style:none;padding:0;margin:0}.project-square-container .dropdown-item{padding:10px 12px;font-size:14px;color:#333;cursor:pointer}.project-square-container .dropdown-item:hover{background:#f8f9fa}.project-square-container .dropdown-item.active{color:#5b6bff;background:#eef1ff}.project-square-container .grid{margin-top:var(--space-4);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);flex:1;min-height:0;overflow-y:auto;align-content:start;padding-top:4px;padding-bottom:var(--space-3)}.project-square-container .card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:all var(--transition-normal);height:280px;position:relative}.project-square-container .card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--info-color),var(--success-color));transform:scaleX(0);transition:transform var(--transition-normal)}.project-square-container .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-color)}.project-square-container .card:hover:before{transform:scaleX(1)}.project-square-container .card-media{height:220px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500;position:relative;overflow:hidden;border-radius:10px 10px 0 0}.project-square-container .gradient-1{background:linear-gradient(135deg,#667eea,#764ba2)}.project-square-container .gradient-2{background:linear-gradient(135deg,#f093fb,#f5576c)}.project-square-container .gradient-3{background:linear-gradient(135deg,#4facfe,#00f2fe)}.project-square-container .gradient-4{background:linear-gradient(135deg,#43e97b,#38f9d7)}.project-square-container .gradient-5{background:linear-gradient(135deg,#fa709a,#fee140)}.project-square-container .gradient-6{background:linear-gradient(135deg,#a8edea,#fed6e3)}.project-square-container .card-media:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.1);z-index:1}.project-square-container .project-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px 8px 0 0}.project-square-container .card-media span{position:relative;z-index:2}.project-square-container .placeholder-text{font-size:14px;font-weight:600;text-align:center;padding:0 20px;line-height:1.4}.project-square-container .card-body{padding:8px 12px;display:flex;flex-direction:column;flex:1}.project-square-container .card-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;gap:8px}.project-square-container .card-title{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--font-semibold);margin:0;line-height:var(--leading-snug);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-square-container .badge-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.project-square-container .visibility-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:4px;font-size:10px;font-weight:600;line-height:1;border:1px solid transparent}.project-square-container .visibility-badge.visibility-public{background:#e7f5ff;color:#1971c2;border-color:#a5d8ff}.project-square-container .visibility-badge.visibility-public svg{width:12px;height:12px;stroke:currentColor}.project-square-container .visibility-badge.visibility-private{background:#fff4e6;color:#d9480f;border-color:#ffc078}.project-square-container .visibility-badge.visibility-private svg{width:12px;height:12px;stroke:currentColor}.project-square-container .status-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1;border:1px solid transparent;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px}.project-square-container .status-badge.ongoing{background:var(--warning-light);color:var(--warning-color);border-color:var(--warning-color)}.project-square-container .status-badge.done{background:var(--success-light);color:var(--success-color);border-color:var(--success-color)}.project-square-container .status-badge.steady{background:var(--info-light);color:var(--info-color);border-color:var(--info-color)}.project-square-container .meta-list{list-style:none;padding:0;margin:0;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:2px}.project-square-container .meta-list li{display:flex;align-items:center;padding:1px 0;font-size:11px;color:var(--text-secondary);line-height:1.3}.project-square-container .meta-label{color:var(--text-tertiary);font-weight:var(--font-medium)}.project-square-container .meta-value,.project-square-container .tag-item{color:var(--text-primary);font-weight:var(--font-semibold)}.project-square-container .tag-item{display:inline}.project-square-container .pagination{margin-top:auto;display:flex;justify-content:center;align-items:center;gap:var(--space-2);flex-shrink:0;padding:var(--space-5) 0;background:var(--bg-primary);border-top:1px solid var(--border-primary);margin-bottom:0}.project-square-container .page-num,.project-square-container .pager{height:32px;min-width:32px;padding:0 var(--space-2);border:2px solid var(--border-primary);background:var(--bg-primary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);transition:all var(--transition-fast)}.project-square-container .page-num:hover,.project-square-container .pager:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.project-square-container .page-num.active{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--text-inverse);border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.project-square-container .pager:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width:1400px){.project-square-container .grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1000px){.project-square-container .grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.project-square-container .search-input{height:52px;padding:0 18px;font-size:15px}.project-square-container .btn{height:38px;padding:0 14px;font-size:13px}}@media (max-width:600px){.project-square-container .grid{grid-template-columns:1fr}.project-square-container .search-input{height:100px;padding:0 20px;font-size:16px}.project-square-container .toolbar{flex-direction:column;align-items:stretch;gap:12px}.project-square-container .toolbar-actions{justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%}.project-square-container .toolbar-actions .btn-primary{margin-left:auto}.project-square-container .btn{height:36px;padding:0 12px;font-size:13px;min-width:auto}.project-square-container .btn span{white-space:nowrap}.project-square-container .card{height:260px}.project-square-container .card-media{height:150px}.project-square-container .card-body{padding:12px}}@media (max-width:480px){.project-square-container .search-input{height:58px;padding:0 18px;font-size:16px}.project-square-container .btn{height:34px;padding:0 10px;font-size:12px}.project-square-container .btn svg{width:12px;height:12px}}.project-square-container .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:60px 20px}.project-square-container .loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.project-square-container .loading-text{color:var(--text-secondary);font-size:var(--text-base);margin:0}.project-square-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.project-square-container .empty-state svg{margin-bottom:24px;opacity:.3}.project-square-container .empty-title{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 12px 0}.project-square-container .empty-description{font-size:16px;color:var(--text-secondary);margin:0 0 32px 0;max-width:400px}.project-square-container .modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.project-square-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:400px;width:90%;max-height:90vh;overflow:hidden}.project-square-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px}.project-square-container .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.project-square-container .modal-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280;transition:all .2s ease}.project-square-container .modal-close:hover{background:#f3f4f6;color:#374151}.project-square-container .modal-body{padding:20px 24px}.project-square-container .modal-body p{margin:0;font-size:16px;color:#374151;line-height:1.5}.project-square-container .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 20px}.project-square-container .modal-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.project-square-container .modal-btn-cancel{background:#f3f4f6;color:#374151}.project-square-container .modal-btn-cancel:hover{background:#e5e7eb}.project-square-container .modal-btn-confirm{background:#3b82f6;color:#fff}.project-square-container .modal-btn-confirm:hover{background:#2563eb}.project-square-container .success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;z-index:9999;animation:fadeInOut 1s ease-in-out;pointer-events:none}.dark-mode .project-square-container{background-color:#0f172a}.dark-mode .project-square-container .top-header{background:#1e293b;border-bottom-color:#334155}.dark-mode .project-square-container .page-title{color:#f1f5f9}.dark-mode .project-square-container .back-btn,.dark-mode .project-square-container .menu-btn{color:#cbd5e1}.dark-mode .project-square-container .back-btn:hover,.dark-mode .project-square-container .menu-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .project-square-container .main-content{background-color:#0f172a}.dark-mode .project-square-container .toolbar{background:#1e293b;border-color:#475569}.dark-mode .project-square-container .search-input{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .project-square-container .search-input::-moz-placeholder{color:#64748b}.dark-mode .project-square-container .search-input::placeholder{color:#64748b}.dark-mode .project-square-container .btn{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .project-square-container .btn:hover{background:#334155;border-color:#60a5fa;color:#60a5fa}.dark-mode .project-square-container .btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent}.dark-mode .project-square-container .btn.secondary{background:#334155;border-color:#475569}.dark-mode .project-square-container .dropdown-menu{background:#1e293b;border-color:#475569}.dark-mode .project-square-container .dropdown-item{color:#cbd5e1}.dark-mode .project-square-container .dropdown-item:hover{background:#334155;color:#60a5fa}.dark-mode .project-square-container .dropdown-item.active{background:#1e3a8a;color:#60a5fa}.dark-mode .project-square-container .card{background:#1e293b;border-color:#475569}.dark-mode .project-square-container .card:hover{background:#334155;border-color:#60a5fa;box-shadow:0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.3)}.dark-mode .project-square-container .card-title{color:#f1f5f9}.dark-mode .project-square-container .meta-list li{color:#cbd5e1}.dark-mode .project-square-container .meta-label{color:#cbd5e1!important}.dark-mode .project-square-container .meta-value,.dark-mode .project-square-container .tag-item{color:#cbd5e1}.dark-mode .project-square-container .status-badge{background:#334155;color:#cbd5e1;border-color:#475569}.dark-mode .project-square-container .status-badge.ongoing{background:rgba(245,158,11,.2);color:#fbbf24;border-color:#f59e0b}.dark-mode .project-square-container .status-badge.done{background:rgba(16,185,129,.2);color:#34d399;border-color:#10b981}.dark-mode .project-square-container .status-badge.steady{background:rgba(6,182,212,.2);color:#22d3ee;border-color:#06b6d4}.dark-mode .project-square-container .visibility-badge.visibility-public{background:rgba(37,99,235,.2);color:#60a5fa;border-color:#3b82f6}.dark-mode .project-square-container .pagination{background:#1e293b;border-top-color:#475569}.dark-mode .project-square-container .page-num,.dark-mode .project-square-container .pager{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .project-square-container .page-num:hover,.dark-mode .project-square-container .pager:hover{background:#334155;border-color:#60a5fa;color:#60a5fa}.dark-mode .project-square-container .page-num.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6}.dark-mode .project-square-container .pager:disabled{opacity:.5;color:#64748b}.dark-mode .project-square-container .modal-overlay{background-color:rgba(0,0,0,.8)}.dark-mode .project-square-container .modal-content{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .project-square-container .modal-btn-cancel{background:#334155;color:#cbd5e1}.dark-mode .project-square-container .modal-btn-cancel:hover{background:#475569;color:#f1f5f9}.project-create-container{min-height:100vh;background-color:#f8f9fa;display:block;position:relative}.back-btn{margin-right:8px}.back-btn:hover{color:#333}.menu-btn{padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.menu-btn:hover{background-color:#f8f9fa}.header-right{display:flex;align-items:center;gap:24px}.image-upload-container{margin-top:8px}.image-upload-area{border:2px dashed #d1d5db;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa;min-height:135px;justify-content:center;position:relative;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:300px;margin:0 auto}.image-upload-area:hover{border-color:#3b82f6;background:#f0f9ff}.image-upload-area.has-image{border-style:solid;border-color:#10b981;background:#f0fdf4;padding:0;min-height:135px;max-width:300px}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-placeholder svg{color:#9ca3af}.upload-text{font-size:16px;font-weight:500;color:#374151;margin:0}.upload-hint{font-size:14px;color:#6b7280;margin:0}.image-preview{position:relative;width:100%;height:135px;border-radius:8px;overflow:hidden;max-width:300px;margin:0 auto}.image-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.remove-image{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease}.remove-image:hover{background:rgba(0,0,0,.9)}.user-profile{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .3s ease}.user-profile:hover{background-color:#f8f9fa}.user-avatar{width:32px;height:32px;background-color:#f0f0f0}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#666}.project-create-container>.main-content{flex:1;margin:64px auto 0;display:flex;flex-direction:row;align-items:flex-start;gap:24px;padding:24px;max-width:1400px;width:100%}.project-create-container .form-section{flex:1;background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.project-create-container .preview-section{width:340px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;height:-moz-fit-content;height:fit-content;position:sticky;top:88px;align-self:flex-start;flex-shrink:0}.project-create-container .form-group{margin-bottom:32px}.project-create-container .section-title{font-size:18px;font-weight:600;color:#333;margin:0 0 20px 0;padding-bottom:8px;border-bottom:2px solid #e9ecef}.form-input,.form-select,.form-textarea{padding:12px 16px;border:1px solid #e9ecef;transition:border-color .3s ease,box-shadow .3s ease;background:#fff;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#5b6bff;box-shadow:0 0 0 3px rgba(91,107,255,.1)}.date-range{display:flex;align-items:center;gap:12px}.date-input{flex:1}.date-separator{color:#6c757d;font-weight:500}.tag-input-container{display:flex;gap:8px;margin-bottom:12px}.tag-input{flex:1}.add-tag-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#5b6bff;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.add-tag-btn:hover{background:#4c5ce6}.tags-display{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;gap:6px;padding:4px 12px;background:#e8f3ff;border-radius:16px;border:1px solid #cfe2ff}.tag,.tag-remove{align-items:center;color:#2c6df2}.tag-remove{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:0;width:16px;height:16px;display:flex;justify-content:center}.visibility-options{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}.visibility-option{align-items:flex-start;padding:16px;border:2px solid #e9ecef;border-radius:8px;transition:all .3s ease}.visibility-option:hover{border-color:#5b6bff;background:#f8f9ff}.visibility-option.active{border-color:#5b6bff;background:#f0f2ff;box-shadow:0 0 0 3px rgba(91,107,255,.1)}.option-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#f8f9fa;color:#666;flex-shrink:0;transition:all .3s ease}.visibility-option.active .option-icon{background:#5b6bff}.option-content{flex:1}.option-title{font-size:15px;font-weight:600;color:#333;margin-bottom:4px}.option-desc{font-size:12px;color:#6c757d;line-height:1.4}.visibility-badge{border-radius:16px;font-size:12px;font-weight:500}.visibility-badge svg{width:14px;height:14px}.visibility-public{background:#e7f5ff;color:#1971c2;border:1px solid #a5d8ff}.visibility-private{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.preview-title{font-size:16px;font-weight:600;color:#333;margin:0 0 16px 0;padding-bottom:8px;border-bottom:1px solid #dee2e6}.preview-content{gap:16px}.preview-content,.preview-item{display:flex;flex-direction:column}.preview-item{gap:6px}.preview-label{font-size:13px;font-weight:600;color:#333}.preview-value{font-size:13px;color:#6c757d;line-height:1.4}.preview-placeholder{font-size:13px;color:#adb5bd;font-style:italic}.preview-error{font-size:13px;color:#dc3545;font-style:italic}.preview-tags{display:flex;flex-wrap:wrap;gap:8px}.preview-tag{padding:4px 12px;background:#e8f3ff;color:#2c6df2;border-radius:16px;font-size:12px;border:1px solid #cfe2ff}.preview-positions{display:flex;flex-direction:column;gap:8px}.preview-position{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px}.position-name{font-weight:500;color:#333;margin-bottom:4px}.position-meta{display:flex;gap:12px;font-size:12px;color:#6c757d}.position-count{background:#e3f2fd;color:#1976d2;padding:2px 6px;border-radius:4px;font-size:11px}.position-skills{color:#6c757d}.position-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px;margin-bottom:16px}.position-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.position-title{font-weight:500;color:#333}.delete-position-btn{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:12px;transition:background-color .2s}.delete-position-btn:hover{background:#c82333}.add-position-btn{background:#28a745;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:background-color .2s}.add-position-btn:hover{background:#218838}.preview-task{padding:8px 12px;background:#fff;border-radius:4px;border:1px solid #e9ecef}.footer-actions{display:flex;justify-content:flex-end;gap:16px;padding:24px;background:#fff;border-top:1px solid #e9ecef}.btn{padding:12px 24px;transition:all .3s ease;border:1px solid transparent}.project-create-container .btn-secondary{background:#fff;color:#5b6bff;border-color:#5b6bff}.project-create-container .btn-secondary:hover{background:#f8f9fa}.project-create-container .btn-primary{background:#5b6bff;color:#fff;border-color:#5b6bff}.project-create-container .btn-primary:hover:not(:disabled){background:#4c5ce6;border-color:#4c5ce6}.project-create-container .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width:1024px){.project-create-container>.main-content{flex-direction:column}.project-create-container .preview-section{order:-1;width:100%;position:static}.project-create-container .form-section{width:100%}}@media (max-width:768px){.project-create-container>.main-content{padding:16px;margin-top:56px;gap:16px}.project-create-container .form-section,.project-create-container .preview-section{padding:16px}.project-create-container .visibility-options{grid-template-columns:1fr}.project-create-container .footer-actions{flex-direction:row;padding:16px;gap:12px}.project-create-container .footer-actions .btn{flex:1}.project-create-container .top-header{padding:0 12px;height:56px}.project-create-container .page-title{font-size:16px}}@media (max-width:480px){.project-create-container>.main-content{padding:12px;gap:12px}.project-create-container .form-section,.project-create-container .preview-section{padding:16px}.project-create-container .section-title{font-size:16px}.project-create-container .form-group{margin-bottom:20px}.project-create-container .date-range{flex-direction:column;gap:8px}.project-create-container .date-separator{display:none}}.success-toast{padding:12px 24px;z-index:10000}.modal-overlay{width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10000}.modal-content{max-width:400px;width:90%;max-height:80vh}.modal-header{padding:20px 24px 16px}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.modal-close{font-size:24px;color:#999;padding:0;width:24px;height:24px}.modal-close:hover{color:#666}.modal-body{padding:0 24px 20px;color:#666;line-height:1.5}.modal-footer{padding:16px 24px 20px}.modal-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-btn-confirm{background:#007bff;color:#fff}.modal-btn-confirm:hover{background:#0056b3}.dark-mode .project-create-container{background-color:#0f172a}.dark-mode .project-create-container .top-header{background:#1e293b;border-bottom-color:#334155}.dark-mode .project-create-container .page-title{color:#f1f5f9}.dark-mode .project-create-container .menu-btn{color:#cbd5e1}.dark-mode .project-create-container .menu-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .project-create-container .main-content{background-color:#0f172a}.dark-mode .project-create-container .form-card{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .project-create-container .form-label{color:#cbd5e1}.dark-mode .project-create-container .btn,.dark-mode .project-create-container .form-input,.dark-mode .project-create-container .form-select,.dark-mode .project-create-container .form-textarea{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .project-create-container .btn:hover{background:#475569;border-color:#60a5fa;color:#60a5fa}.dark-mode .project-create-container .btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent}.dark-mode .project-create-container .modal-overlay{background-color:rgba(0,0,0,.8)}.dark-mode .project-create-container .modal-content{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .project-create-container .crop-overlay{background:rgba(0,0,0,.8)}.dark-mode .project-create-container .crop-selection{border-color:#60a5fa}.dark-mode .project-create-container .crop-modal-content{background:#1e293b;border-color:#475569}.dark-mode .project-create-container .form-section{background:#1e293b;border-color:#475569;box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2)}.dark-mode .project-create-container .preview-section{background:#1e293b;border-color:#475569}.dark-mode .project-create-container .section-title{color:#f1f5f9;border-bottom-color:#475569}.dark-mode .project-create-container .image-upload-area{background:#334155;border-color:#475569}.dark-mode .project-create-container .image-upload-area:hover{background:#475569;border-color:#60a5fa}.dark-mode .project-create-container .image-upload-area.has-image{background:#1e293b;border-color:#10b981}.dark-mode .project-create-container .upload-placeholder svg{color:#94a3b8}.dark-mode .project-create-container .upload-text{color:#cbd5e1}.dark-mode .project-create-container .upload-hint{color:#94a3b8}.dark-mode .project-create-container .visibility-option{background:#334155;border-color:#475569}.dark-mode .project-create-container .visibility-option:hover{background:#475569;border-color:#60a5fa}.dark-mode .project-create-container .visibility-option.active{background:#1e3a8a;border-color:#60a5fa}.dark-mode .project-create-container .option-icon{background:#475569;color:#cbd5e1}.dark-mode .project-create-container .visibility-option.active .option-icon{background:#60a5fa;color:#fff}.dark-mode .project-create-container .option-title{color:#f1f5f9}.dark-mode .project-create-container .option-desc{color:#94a3b8}.dark-mode .project-create-container .preview-title{color:#f1f5f9;border-bottom-color:#475569}.dark-mode .project-create-container .preview-label{color:#cbd5e1}.dark-mode .project-create-container .preview-value{color:#94a3b8}.dark-mode .project-create-container .preview-placeholder{color:#64748b}.dark-mode .project-create-container .preview-tag{background:rgba(96,165,250,.2);color:#60a5fa;border-color:#3b82f6}.dark-mode .project-create-container .position-item,.dark-mode .project-create-container .preview-position{background:#334155;border-color:#475569}.dark-mode .project-create-container .position-name{color:#f1f5f9}.dark-mode .project-create-container .position-meta{color:#94a3b8}.dark-mode .project-create-container .position-count{background:rgba(37,99,235,.2);color:#60a5fa}.dark-mode .project-create-container .preview-task{background:#334155;border-color:#475569}.dark-mode .project-create-container .footer-actions{background:#1e293b;border-top-color:#475569}.dark-mode .project-create-container .btn-secondary{background:#334155;color:#60a5fa;border-color:#475569}.dark-mode .project-create-container .btn-secondary:hover{background:#475569;border-color:#60a5fa}.dark-mode .project-create-container .back-btn{color:#cbd5e1}.dark-mode .project-create-container .back-btn:hover{background-color:#334155;color:#f1f5f9}@media (max-width:768px){.knowledge-base-container .search-input{height:52px;padding:0 18px;font-size:15px}}.knowledge-base-container .top-header{position:fixed;top:0;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);padding:0 var(--space-6);box-shadow:var(--shadow-sm);z-index:1000}.knowledge-base-container .back-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease;margin-right:8px}.knowledge-base-container .back-btn:hover{background-color:#f8f9fa;color:#333}.knowledge-base-container .menu-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.knowledge-base-container .menu-btn:hover{background-color:#f8f9fa}.knowledge-base-container .main-content{margin-top:64px;padding:0 40px;display:flex;flex-direction:column;height:calc(100vh - 64px);animation:fadeInUp .6s ease-out}.knowledge-base-container .content-wrapper{flex:1;display:flex;flex-direction:column;height:100%;min-height:0}.knowledge-base-container .page-header{margin-top:32px;margin-bottom:12px;animation:fadeInDown .6s ease-out}.knowledge-base-container .page-title{position:relative;margin:0 0 6px 0;display:inline-block}.knowledge-base-container .title-text{font-size:32px;font-weight:800;background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.knowledge-base-container .title-decoration{position:absolute;bottom:-8px;left:0;width:100%;height:4px;background:linear-gradient(90deg,#5eb6e4,#a7c6ed 50%,transparent);border-radius:2px}.knowledge-base-container .page-subtitle{font-size:15px;color:#64748b;line-height:1.8;margin:0;display:flex;align-items:flex-start;gap:8px;padding:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-left:3px solid #5eb6e4;border-radius:8px}.knowledge-base-container .subtitle-icon{flex-shrink:0;color:#5eb6e4;margin-top:2px}.knowledge-base-container .toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e3e8ef;padding:16px;border-radius:16px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);margin-bottom:8px;transition:all .3s ease}.knowledge-base-container .toolbar:hover{box-shadow:0 8px 15px -5px rgba(0,0,0,.15)}.knowledge-base-container .search-input{flex:1;height:44px;border:2px solid #e5e7eb;border-radius:12px;padding:0 18px;outline:none;font-size:14px;background:#fff;color:#1e293b;transition:all .3s ease;font-weight:500}.knowledge-base-container .search-input:focus{border-color:#5eb6e4;box-shadow:0 0 0 3px rgba(94,182,228,.1)}.knowledge-base-container .search-input::-moz-placeholder{color:#94a3b8}.knowledge-base-container .search-input::placeholder{color:#94a3b8}.knowledge-base-container .toolbar-actions{display:flex;gap:12px;position:relative}.knowledge-base-container .btn{height:44px;padding:0 20px;border-radius:12px;border:2px solid #e5e7eb;background:#fff;color:#1e293b;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;white-space:nowrap}.knowledge-base-container .btn:hover{transform:translateY(-2px);box-shadow:0 8px 15px rgba(0,0,0,.1);border-color:#5eb6e4;background:linear-gradient(135deg,#f0f7ff,#e3f2ff);color:#04c}.knowledge-base-container .btn.secondary{background:linear-gradient(135deg,#f8f9fa,#f1f5f9);border-color:#e5e7eb}.knowledge-base-container .btn.secondary:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.knowledge-base-container .dropdown{position:relative}.knowledge-base-container .dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:140px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.12);z-index:100;list-style:none;padding:8px;margin:0;animation:fadeInDown .2s ease-out}.knowledge-base-container .dropdown-item{padding:12px 16px;font-size:14px;color:#334155;cursor:pointer;border-radius:8px;transition:all .2s ease;font-weight:500}.knowledge-base-container .dropdown-item:hover{background:linear-gradient(135deg,#f0f7ff,#e3f2ff);color:#04c;transform:translateX(4px)}.knowledge-base-container .dropdown-item.active{color:#04c;background:linear-gradient(135deg,#e3f2ff,#d4e9ff);font-weight:600}.knowledge-base-container .grid{margin-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;flex:1;min-height:0;overflow-y:auto;align-content:start;padding-top:10px;padding-bottom:20px}.knowledge-base-container .pagination{margin-top:auto;display:flex;justify-content:center;align-items:center;gap:10px;flex-shrink:0;padding:24px 0;background:transparent;border-top:1px solid #e5e7eb;margin-bottom:0}.knowledge-base-container .page-num,.knowledge-base-container .pager{height:40px;min-width:40px;padding:0 12px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:#1e293b;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.knowledge-base-container .page-num:hover,.knowledge-base-container .pager:hover{background:linear-gradient(135deg,#f0f7ff,#e3f2ff);border-color:#5eb6e4;color:#04c;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,68,204,.15)}.knowledge-base-container .page-num.active{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(0,68,204,.3)}.knowledge-base-container .pager:disabled{opacity:.4;cursor:not-allowed;transform:none;pointer-events:none}.knowledge-base-container .card{background:#fff;display:flex;flex-direction:column;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);height:300px;position:relative;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);animation:fadeInUp .6s ease-out backwards}.knowledge-base-container .card:first-child{animation-delay:.1s}.knowledge-base-container .card:nth-child(2){animation-delay:.15s}.knowledge-base-container .card:nth-child(3){animation-delay:.2s}.knowledge-base-container .card:nth-child(4){animation-delay:.25s}.knowledge-base-container .card:nth-child(5){animation-delay:.3s}.knowledge-base-container .card:nth-child(6){animation-delay:.35s}.knowledge-base-container .card:nth-child(7){animation-delay:.4s}.knowledge-base-container .card:nth-child(8){animation-delay:.45s}.knowledge-base-container .card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#5eb6e4,#a7c6ed 50%,#e0b3e5);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;z-index:10}.knowledge-base-container .card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border-color:#5eb6e4}.knowledge-base-container .card:hover:before{transform:scaleX(1)}.knowledge-base-container .card-media{height:180px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;position:relative;overflow:hidden;transition:transform .4s ease}.knowledge-base-container .card:hover .card-media{transform:scale(1.05)}.knowledge-base-container .gradient-1{background:linear-gradient(135deg,#667eea,#764ba2)}.knowledge-base-container .gradient-2{background:linear-gradient(135deg,#f093fb,#f5576c)}.knowledge-base-container .gradient-3{background:linear-gradient(135deg,#4facfe,#00f2fe)}.knowledge-base-container .gradient-4{background:linear-gradient(135deg,#43e97b,#38f9d7)}.knowledge-base-container .gradient-5{background:linear-gradient(135deg,#fa709a,#fee140)}.knowledge-base-container .gradient-6{background:linear-gradient(135deg,#a8edea,#fed6e3)}.knowledge-base-container .card-media:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.05);z-index:1}.knowledge-base-container .card-media span{position:relative;z-index:2}.knowledge-base-container .project-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;position:relative;z-index:2}.knowledge-base-container .no-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:hsla(0,0%,100%,.8);position:relative;z-index:2}.knowledge-base-container .card-body{padding:20px;display:flex;flex-direction:column;flex:1;gap:12px}.knowledge-base-container .card-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.knowledge-base-container .card-title{font-size:16px;color:#1e293b;line-height:1.5;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-base-container .status-badge{padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.knowledge-base-container .card:hover .status-badge{transform:scale(1.05)}.knowledge-base-container .status-badge.stable{background:linear-gradient(135deg,#a7c6ed,#5eb6e4);color:#fff;border:none}.knowledge-base-container .status-badge.progress{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none}.knowledge-base-container .status-badge.completed{background:linear-gradient(135deg,#34d399,#10b981);color:#fff;border:none}.knowledge-base-container .meta-list{list-style:none;padding:0;margin:0;flex:1;display:flex;flex-direction:column;gap:8px}.knowledge-base-container .meta-list li{display:flex;align-items:flex-start;font-size:13px;line-height:1.6}.knowledge-base-container .meta-label{color:#64748b;margin-right:6px;flex-shrink:0;font-weight:600}.knowledge-base-container .meta-value{color:#334155;flex:1;font-weight:500}.knowledge-base-container .tag-item{display:inline-block;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;margin-right:6px;transition:all .3s ease}.knowledge-base-container .card:hover .tag-item{background:linear-gradient(135deg,#e3f2ff,#d4e9ff);color:#04c}@media (max-width:1400px){.knowledge-base-container .grid{grid-template-columns:repeat(3,1fr);gap:18px}.knowledge-base-container .title-text{font-size:28px}.knowledge-base-container .main-content{padding:28px 32px 0}}@media (max-width:1000px){.knowledge-base-container .grid{grid-template-columns:repeat(2,1fr);gap:16px}.knowledge-base-container .title-text{font-size:24px}.knowledge-base-container .page-subtitle{font-size:14px;padding:14px}.knowledge-base-container .main-content{padding:24px 28px 0}}@media (max-width:600px){.knowledge-base-container .grid{grid-template-columns:1fr;gap:16px}.knowledge-base-container .main-content{padding:20px 16px 0}.knowledge-base-container .page-header{margin-bottom:24px}.knowledge-base-container .title-text{font-size:22px}.knowledge-base-container .page-subtitle{font-size:13px;padding:12px}.knowledge-base-container .toolbar{flex-direction:column;align-items:stretch;gap:12px}.knowledge-base-container .search-input{width:100%;height:52px;padding:0 18px;font-size:15px}.knowledge-base-container .toolbar-actions{justify-content:flex-end;width:100%}.knowledge-base-container .card{height:280px}.knowledge-base-container .card-media{height:160px}.knowledge-base-container .card-body{padding:16px}.knowledge-base-container .pagination{padding:20px 0;gap:8px}.knowledge-base-container .page-num,.knowledge-base-container .pager{height:36px;min-width:36px;font-size:13px}}.dark-mode .knowledge-base-container .page-subtitle{background:linear-gradient(135deg,#1e293b,#334155);border-left-color:#60a5fa;color:#cbd5e1}.dark-mode .knowledge-base-container .subtitle-icon{color:#60a5fa}.dark-mode .knowledge-base-container .title-text{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .knowledge-base-container .toolbar{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569}.dark-mode .knowledge-base-container .search-input{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .knowledge-base-container .search-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.2)}.dark-mode .knowledge-base-container .search-input::-moz-placeholder{color:#64748b}.dark-mode .knowledge-base-container .search-input::placeholder{color:#64748b}.dark-mode .knowledge-base-container .btn{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .knowledge-base-container .btn:hover{background:#334155;border-color:#60a5fa;color:#60a5fa}.dark-mode .knowledge-base-container .btn.secondary{background:linear-gradient(135deg,#334155,#475569);border-color:#475569}.dark-mode .knowledge-base-container .btn.secondary:hover{background:linear-gradient(135deg,#475569,#64748b)}.dark-mode .knowledge-base-container .dropdown-menu{background:#1e293b;border-color:#475569}.dark-mode .knowledge-base-container .dropdown-item{color:#cbd5e1}.dark-mode .knowledge-base-container .dropdown-item:hover{background:linear-gradient(135deg,#334155,#475569);color:#60a5fa}.dark-mode .knowledge-base-container .dropdown-item.active{color:#60a5fa;background:linear-gradient(135deg,#1e3a8a,#1e40af)}.dark-mode .knowledge-base-container .pagination{border-top-color:#475569}.dark-mode .knowledge-base-container .page-num,.dark-mode .knowledge-base-container .pager{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .knowledge-base-container .page-num:hover,.dark-mode .knowledge-base-container .pager:hover{background:linear-gradient(135deg,#334155,#475569);border-color:#60a5fa;color:#60a5fa}.dark-mode .knowledge-base-container .page-num.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent}.dark-mode .knowledge-base-container .pager:disabled{opacity:.4;color:#64748b}.dark-mode .knowledge-base-container .card{background:#1e293b}.dark-mode .knowledge-base-container .card:hover{background:#334155;border-color:#60a5fa}.dark-mode .knowledge-base-container .card-title{color:#f1f5f9}.dark-mode .knowledge-base-container .meta-label{color:#94a3b8}.dark-mode .knowledge-base-container .meta-value{color:#cbd5e1}.dark-mode .knowledge-base-container .tag-item{background:linear-gradient(135deg,#334155,#475569);color:#cbd5e1}.dark-mode .knowledge-base-container .card:hover .tag-item{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#60a5fa}.contribution-heatmap-container{background:#fff;border-radius:8px;padding:24px;margin-top:24px;border:1px solid #e1e4e8;box-shadow:0 1px 3px rgba(0,0,0,.1)}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-left{align-items:baseline}.heatmap-title{font-size:16px;font-weight:600;color:#24292e;margin:0}.total-contributions{display:flex;align-items:baseline;gap:4px;color:#6e7781;font-size:14px}.total-count{font-weight:600;color:#24292e;font-size:16px}.total-label{font-size:13px}.view-toggle{display:flex;gap:8px}.toggle-btn{border:1px solid #d1d5db;background:#fff;border-radius:4px;font-size:14px;color:#6e7781}.toggle-btn:hover{background:#f6f8fa;border-color:#0366d6;color:#0366d6}.toggle-btn.active{background:#0366d6;border-color:#0366d6;color:#fff}.heatmap-loading{padding:40px 0}.skeleton-grid{display:grid;grid-template-rows:repeat(7,14px);grid-auto-flow:column;grid-auto-columns:14px;gap:3px;width:-moz-fit-content;width:fit-content;margin:0 auto}.skeleton-cell{width:14px;height:14px;background:#ebedf0;border-radius:3px;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.heatmap-empty{text-align:center;padding:60px 0;color:#959da5;font-size:14px}.heatmap-content{position:relative;overflow-x:auto;padding:20px 0}.heatmap-content,.heatmap-wrapper{display:flex;justify-content:center}.heatmap-wrapper{align-items:flex-start;margin:0 auto;width:100%}.weekday-labels{display:flex;flex-direction:column;gap:3px;margin-right:10px;font-size:12px;color:#6e7781;width:24px;flex-shrink:0;padding-top:24px}.weekday-label{height:14px;line-height:14px;text-align:right;font-size:12px;font-weight:500}.heatmap-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}.month-labels{display:flex;margin-bottom:6px;font-size:12px;color:#6e7781;height:18px}.month-label{text-align:left;font-size:12px;padding-left:3px;font-weight:500}.quarter-labels{display:flex;margin-bottom:6px;font-size:12px;color:#6e7781;height:18px}.quarter-label{text-align:left;font-size:12px;padding-left:3px;font-weight:500}.heatmap-grid{display:grid;gap:3px;width:-moz-fit-content;width:fit-content}.heatmap-grid.view-day{grid-template-rows:repeat(7,14px);grid-auto-flow:column;grid-auto-columns:14px;margin:0 auto}.heatmap-grid.view-week{display:flex;flex-wrap:wrap;gap:3px;max-width:100%;justify-content:center;align-items:flex-start}.heatmap-cell{width:14px;height:14px;border-radius:3px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,outline .15s ease;position:relative;outline:1px solid transparent}.heatmap-cell:hover{transform:scale(1.3);outline:2px solid rgba(0,0,0,.6);z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.2)}.heatmap-cell:active{transform:scale(1.2)}.heatmap-cell.level-0{background-color:#ebedf0!important}.heatmap-cell.level-1{background-color:#9be9a8!important}.heatmap-cell.level-2{background-color:#40c463!important}.heatmap-cell.level-3{background-color:#30a14e!important}.heatmap-cell.level-4{background-color:#216e39!important}.heatmap-tooltip{position:fixed;z-index:1000;pointer-events:none;transform:translateX(-50%) translateY(-100%);margin-top:-8px}.tooltip-content{background:#000;color:#fff;border-radius:3px;padding:4px 8px;font-size:11px;white-space:nowrap;box-shadow:0 3px 6px rgba(0,0,0,.3)}.tooltip-date{font-size:11px;font-weight:600;color:#fff;margin-bottom:2px}.tooltip-count{font-size:11px;color:#fff;opacity:.9}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;margin-top:16px;gap:8px;font-size:12px;color:#6e7781}.legend-label{font-size:12px}.legend-colors{display:flex;gap:2px}.legend-color{width:12px;height:12px;border-radius:3px}@media (max-width:768px){.contribution-heatmap-container{padding:16px}.heatmap-header{flex-direction:column;align-items:flex-start;gap:12px}.heatmap-content{overflow-x:auto;-webkit-overflow-scrolling:touch}.skeleton-grid{grid-template-columns:repeat(26,10px)}}html.dark-mode .contribution-heatmap-container{background:#1e293b;border-color:#334155;box-shadow:0 1px 3px rgba(0,0,0,.3)}html.dark-mode .heatmap-title{color:#e5e7eb}html.dark-mode .total-contributions{color:#94a3b8}html.dark-mode .total-count{color:#e5e7eb}html.dark-mode .total-label{color:#94a3b8}html.dark-mode .toggle-btn{background:#0f172a;border-color:#334155;color:#94a3b8}html.dark-mode .toggle-btn:hover{background:#1e293b;border-color:#5eb6e4;color:#5eb6e4}html.dark-mode .toggle-btn.active{background:#04c;border-color:#04c;color:#fff}html.dark-mode .skeleton-cell{background:#334155}html.dark-mode .heatmap-empty{color:#64748b}html.dark-mode .month-label,html.dark-mode .month-labels,html.dark-mode .quarter-label,html.dark-mode .quarter-labels,html.dark-mode .weekday-label,html.dark-mode .weekday-labels{color:#94a3b8}html.dark-mode .heatmap-cell:hover{outline:2px solid hsla(0,0%,100%,.6);box-shadow:0 2px 4px rgba(0,0,0,.5)}html.dark-mode .heatmap-legend,html.dark-mode .legend-label{color:#94a3b8}html.dark-mode .heatmap-cell.level-0{background-color:#1e293b!important;border:1px solid #334155}html.dark-mode .heatmap-cell.level-1{background-color:#0d9488!important;border:1px solid #14b8a6}html.dark-mode .heatmap-cell.level-2{background-color:#059669!important;border:1px solid #10b981}html.dark-mode .heatmap-cell.level-3{background-color:#047857!important;border:1px solid #059669}html.dark-mode .heatmap-cell.level-4{background-color:#065f46!important;border:1px solid #047857}html.dark-mode .legend-color{border:1px solid rgba(148,163,184,.2)}html.dark-mode .heatmap-legend .legend-colors .legend-color:first-child{background-color:#1e293b!important}html.dark-mode .heatmap-legend .legend-colors .legend-color:nth-child(2){background-color:#0d9488!important}html.dark-mode .heatmap-legend .legend-colors .legend-color:nth-child(3){background-color:#059669!important}html.dark-mode .heatmap-legend .legend-colors .legend-color:nth-child(4){background-color:#047857!important}html.dark-mode .heatmap-legend .legend-colors .legend-color:nth-child(5){background-color:#065f46!important}html.dark-mode .tooltip-content{background:#0f172a;border:1px solid #334155;color:#e5e7eb;box-shadow:0 3px 6px rgba(0,0,0,.5)}html.dark-mode .tooltip-date{color:#e5e7eb}html.dark-mode .tooltip-count{color:#cbd5e1}.contribution-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.contribution-detail-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}.detail-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#fff}.detail-dialog-title{margin:0;font-size:18px;font-weight:600;color:#111827}.detail-dialog-close{width:32px;height:32px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.detail-dialog-close:hover{background:#f3f4f6;color:#111827}.detail-dialog-content{flex:1;overflow-y:auto;padding:24px;background:#fff}.detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.detail-loading .loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#04c;border-radius:50%;animation:spin .8s linear infinite}.detail-loading p{color:#6b7280;font-size:14px;margin:0}.detail-error{padding:40px 20px;text-align:center;color:#ef4444;font-size:14px}.detail-date-section{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.detail-section-title{margin:0 0 8px 0;font-size:16px;font-weight:600;color:#111827}.detail-total-count{font-size:14px;color:#6b7280}.detail-total-count .count-number{font-size:18px;font-weight:700;color:#04c;margin:0 4px}.detail-contributors{margin-top:24px}.contributors-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.contributor-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.contributor-item:hover{border-color:#04c;box-shadow:0 2px 8px rgba(0,68,204,.1)}.contributor-header{margin-bottom:12px}.contributor-info{display:flex;align-items:center;justify-content:space-between;gap:12px}.contributor-name{font-size:15px;font-weight:600;color:#111827}.contributor-count{font-size:13px;color:#6b7280;background:#e5e7eb;padding:4px 10px;border-radius:12px;font-weight:500}.contributor-achievements{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.achievement-item{padding:8px 12px;border-radius:6px;font-size:13px}.achievement-type{padding:2px 8px;background:#eff6ff;color:#1e40af;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.achievement-title{flex:1;color:#374151;font-weight:500}.achievement-time{color:#9ca3af;font-size:12px;white-space:nowrap}.detail-empty{padding:60px 20px;text-align:center;color:#9ca3af;font-size:14px}html.dark-mode .contribution-detail-dialog{background:#1e293b;border-color:#334155}html.dark-mode .detail-dialog-header{background:#1e293b;border-bottom-color:#334155}html.dark-mode .detail-dialog-title{color:#e5e7eb}html.dark-mode .detail-dialog-close{color:#94a3b8}html.dark-mode .detail-dialog-close:hover{background:#334155;color:#e5e7eb}html.dark-mode .detail-dialog-content{background:#1e293b}html.dark-mode .detail-loading .loading-spinner{border-color:#334155;border-top-color:#5eb6e4}html.dark-mode .detail-loading p{color:#94a3b8}html.dark-mode .detail-error{color:#f87171}html.dark-mode .detail-date-section{border-bottom-color:#334155}html.dark-mode .detail-section-title{color:#e5e7eb}html.dark-mode .detail-total-count{color:#94a3b8}html.dark-mode .detail-total-count .count-number{color:#5eb6e4}html.dark-mode .contributor-item{background:#0f172a;border-color:#334155}html.dark-mode .contributor-item:hover{border-color:#5eb6e4;box-shadow:0 2px 8px rgba(94,182,228,.2)}html.dark-mode .contributor-name{color:#e5e7eb}html.dark-mode .contributor-count{color:#cbd5e1;background:#334155}html.dark-mode .contributor-achievements{border-top-color:#334155}html.dark-mode .achievement-item{background:#0f172a;border-color:#334155}html.dark-mode .achievement-type{background:#1e3a8a;color:#93c5fd}html.dark-mode .achievement-title{color:#cbd5e1}html.dark-mode .achievement-time,html.dark-mode .detail-empty{color:#64748b}.catalog-view{position:relative;animation:fadeInUp .6s ease-out;height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.5) transparent}.catalog-view::-webkit-scrollbar{width:8px}.catalog-view::-webkit-scrollbar-track{background:transparent}.catalog-view::-webkit-scrollbar-thumb{background:rgba(148,163,184,.5);border-radius:4px}.catalog-view::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.7)}html.dark-mode .catalog-view{scrollbar-color:rgba(100,116,139,.5) transparent}html.dark-mode .catalog-view::-webkit-scrollbar-thumb{background:rgba(100,116,139,.5)}html.dark-mode .catalog-view::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.7)}.page-header{margin-bottom:60px;animation:fadeInDown .6s ease-out}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.header-title-section{flex:1}.page-title{position:relative;margin:0 0 16px 0;display:inline-block}.title-text{font-size:32px;font-weight:800;background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.title-decoration{position:absolute;bottom:-8px;left:0;width:100%;height:4px;background:linear-gradient(90deg,#5eb6e4,#a7c6ed 50%,transparent);border-radius:2px}.page-subtitle{font-size:15px;color:#64748b;line-height:1.8;margin:0;display:flex;align-items:flex-start;gap:8px;padding:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-left:3px solid #5eb6e4;border-radius:8px}.subtitle-icon{flex-shrink:0;color:#5eb6e4;margin-top:2px}.section-header{align-items:flex-start}.archive-toggle-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,68,204,.3);flex-shrink:0}.archive-toggle-btn:hover{background:linear-gradient(135deg,#04c,#039);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,68,204,.4)}.archive-toggle-btn svg{width:20px;height:20px;flex-shrink:0}.section-card{border:1px solid #eef0f2;padding:24px 28px;margin-bottom:20px}.add-achievement-section{padding:32px 48px 32px;margin-top:20px}.section-title{color:#1f2937}.section-title.small{font-size:18px;margin-bottom:4px}.section-subtitle{color:#6b7280;font-size:13px;margin-top:6px}.add-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:20px 28px;padding:0 40px 20px}.add-card{border:2px solid #eef0f2;border-radius:12px;padding:20px 18px;background:linear-gradient(135deg,#fff,#f9fafb);transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.05);min-height:140px;display:flex;flex-direction:column}.add-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.1);border-color:#5b6bff}.add-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.add-name{color:#1f2937;font-weight:600;font-size:17px}.add-desc{color:#6b7280;font-size:14px;margin-bottom:12px;flex:1;line-height:1.4}.add-btn{margin-top:auto;padding:11px 20px;background:linear-gradient(135deg,#5b6bff,#4a5bff);color:#fff;border:none;border-radius:9px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;box-shadow:0 3px 10px rgba(91,107,255,.2)}.add-btn:hover{background:linear-gradient(135deg,#4a5bff,#3a4bef);transform:translateY(-2px);box-shadow:0 5px 16px rgba(91,107,255,.4)}.add-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(91,107,255,.3)}.add-btn.disabled,.add-btn:disabled{color:#e5e7eb;cursor:not-allowed;opacity:.6}.add-btn.disabled,.add-btn.disabled:hover,.add-btn:disabled,.add-btn:disabled:hover{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:none;transform:none}.add-btn.disabled:active,.add-btn:disabled:active{transform:none;box-shadow:none}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 1px 3px rgba(0,0,0,.12)}.dot-blue{background:#3b82f6}.dot-orange{background:#f59e0b}.dot-green{background:#10b981}.dot-purple{background:#8b5cf6}.dot-yellow{background:#fbbf24}.dot-pink{background:#f472b6}.dot-task{background:#ec4899}.add-card:nth-child(7){grid-column:4;grid-row:1/3;width:240px;min-height:320px}.table-wrap{width:100%;overflow:auto;border:1px solid #eef0f2;border-radius:12px;background:#fff}.doc-table{width:100%;border-collapse:collapse}.doc-table thead th{text-align:left;font-size:13px;color:#6b7280;padding:12px 14px;border-bottom:1px solid #f1f3f5}.doc-table tbody td{padding:12px 14px;font-size:14px;color:#374151;border-bottom:1px solid #f7f7f8}.filename{display:flex;align-items:center;gap:8px}.file-info{flex-direction:column;gap:2px}.file-count{font-size:12px;color:#6c757d}.file-dot{width:10px;height:10px;border-radius:50%}.file-dot.doc{background:#3b82f6}.file-dot.patent{background:#f59e0b}.file-dot.dataset{background:#10b981}.file-dot.model{background:#8b5cf6}.file-dot.report{background:#fbbf24}.ops a{color:#4f46e5;text-decoration:none;margin-right:12px;font-size:13px}.ops a:hover{text-decoration:underline}.ops a.delete-link{color:#dc3545}.ops a.delete-link:hover{color:#c82333;text-decoration:underline}.pagination.line{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.pager-text{color:#9aa0a6;font-size:12px}.pager-group{display:flex;gap:6px;align-items:center}.page-num.small,.pager.small{height:28px;min-width:28px;padding:0 10px;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-size:12px}.page-num.small.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.pager:disabled{opacity:.5;cursor:not-allowed}.page-num:hover,.pager:not(:disabled):hover{background:#f3f4f6}@media (max-width:1400px){.add-grid{gap:20px 24px;padding:0 30px 20px}.add-card:nth-child(7){width:220px;min-height:300px}.add-achievement-section{padding:14px 36px 28px}.section-title.small{margin-bottom:4px}}@media (max-width:1200px){.add-grid{grid-template-columns:repeat(2,1fr) auto;gap:20px;padding:0 24px 20px}.add-card:nth-child(7){grid-column:3;grid-row:1/4;width:200px;min-height:440px}.add-achievement-section{padding:12px 32px 24px}.section-title.small{margin-bottom:4px}}@media (max-width:768px){.catalog-view{height:auto!important;min-height:100vh;overflow:visible!important;padding-bottom:80px}.page-header{margin-bottom:24px}.header-content{flex-direction:column;gap:16px}.title-text{font-size:24px}.page-subtitle{font-size:13px;padding:12px}.add-grid{grid-template-columns:1fr;gap:16px;padding:0 16px 16px}.add-card:nth-child(7){grid-column:1;grid-row:auto;width:100%;min-height:130px}.add-card{min-height:130px;padding:18px 16px}.section-card{padding:20px 16px}.add-achievement-section{padding:12px 16px}.archive-toggle-btn{font-size:13px;padding:8px 16px;width:100%;justify-content:center}.section-title.small{margin-bottom:8px;font-size:18px}}@media (max-width:480px){.catalog-view{padding-bottom:60px}.page-header{margin-bottom:20px}.title-text{font-size:20px}.page-subtitle{font-size:12px;padding:10px}.add-grid{padding:0 12px 12px;gap:12px}.add-card:nth-child(7){grid-column:1;grid-row:auto;width:100%;min-height:120px}.add-card{min-height:120px;padding:16px 12px}.add-head{margin-bottom:8px}.add-name{font-size:15px}.add-desc{font-size:12px;margin-bottom:10px}.add-btn{padding:8px 16px;font-size:13px}.section-card{padding:16px 12px}.add-achievement-section{padding:10px 12px}.section-title.small{font-size:16px;margin-bottom:6px}.archive-toggle-btn{font-size:12px;padding:8px 12px}}.dark-mode .catalog-view{background-color:#0f172a;color:#f1f5f9}.dark-mode .page-subtitle{background:linear-gradient(135deg,#1e293b,#334155);border-left-color:#5eb6e4;color:#cbd5e1}.dark-mode .subtitle-icon{color:#5eb6e4}.dark-mode .title-text{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .section-card{background:#1e293b;border-color:#475569}.dark-mode .section-title{color:#f1f5f9}.dark-mode .section-subtitle{color:#94a3b8}.dark-mode .add-card{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark-mode .add-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.4);border-color:#60a5fa}.dark-mode .add-name{color:#f1f5f9}.dark-mode .add-desc{color:#94a3b8}.dark-mode .table-wrap{background:#1e293b;border-color:#475569}.dark-mode .doc-table thead th{color:#94a3b8;border-bottom-color:#475569}.dark-mode .doc-table tbody td{color:#cbd5e1;border-bottom-color:#334155}.dark-mode .file-count{color:#94a3b8}.dark-mode .ops a{color:#60a5fa}.dark-mode .ops a:hover{color:#93c5fd}.dark-mode .ops a.delete-link{color:#ef4444}.dark-mode .ops a.delete-link:hover{color:#f87171}.dark-mode .pager-text{color:#94a3b8}.dark-mode .page-num.small,.dark-mode .pager.small{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .page-num.small:hover,.dark-mode .pager.small:hover{background:#475569;border-color:#60a5fa}.dark-mode .page-num.small.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6}.dark-mode .page-num:hover,.dark-mode .pager:not(:disabled):hover{background:#475569}.upload-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:11001;overflow:hidden;touch-action:none}.upload-dialog-overlay.no-click-close{cursor:default}.upload-dialog{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:600px;width:85%;max-height:calc(100vh - 80px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;margin:40px auto}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.dialog-title-section{display:flex;align-items:center;gap:12px}.file-type-badge{padding:4px 12px;border-radius:20px;color:#fff;text-transform:uppercase;letter-spacing:.5px}.file-type-badge.doc{background:#3b82f6}.file-type-badge.patent{background:#f59e0b}.file-type-badge.dataset{background:#10b981}.file-type-badge.model{background:#8b5cf6}.file-type-badge.report{background:#fbbf24}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.close-btn{width:56px;height:56px;border:none;background:hsla(0,0%,100%,.8);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:28px;transition:all .2s;backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.close-btn:hover{background:rgba(239,68,68,.1);color:#ef4444;border-color:rgba(239,68,68,.2);transform:scale(1.05)}.dialog-content{padding:24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group label .required-asterisk{color:#ef4444;margin-left:2px;font-weight:700}.form-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.form-textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.existing-achievement-info{padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;align-items:center;gap:8px}.info-label{color:#64748b;font-size:14px;font-weight:500}.achievement-name{color:#1e293b;font-size:14px;font-weight:600;background:#e0f2fe;padding:4px 8px;border-radius:4px}.dark-mode .existing-achievement-info{background:#020617;border-color:#1e293b}.dark-mode .info-label{color:#9ca3af}.dark-mode .achievement-name{color:#e5f2ff;background:rgba(37,99,235,.25)}.description-fields{gap:12px}.description-row{display:flex;align-items:center;gap:12px}.description-label{min-width:100px;font-weight:500;color:#374151;flex-shrink:0}.description-row .form-input{flex:1}.description-field{position:relative;display:flex;gap:8px;align-items:flex-start}.description-field .form-textarea{flex:1}.description-field .description-row{display:flex;align-items:center;gap:12px;width:100%}.description-field .description-row .form-input{flex:1}.form-input-small{flex:0 0 120px!important;max-width:120px}.form-input-large{flex:1!important;min-width:200px}.remove-desc-btn{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6c757d;font-size:18px;font-weight:700;transition:all .2s;flex-shrink:0}.remove-desc-btn:hover{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.add-desc-btn{background:#f8f9fa;border:1px dashed #6c757d;border-radius:6px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:#6c757d;font-size:14px;transition:all .2s;width:100%}.add-desc-btn:hover{background:#e3f2fd;color:#1976d2;border-color:#1976d2}.file-upload-area{border:1px solid #e9ecef;border-radius:8px;padding:16px;background:#f8f9fa;transition:all .3s ease}.file-upload-area.drag-over{border-color:#3b82f6;background:#eff6ff;border-width:2px;border-style:dashed}.uploaded-files{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.file-item{border:1px solid #e9ecef;border-radius:6px;padding:12px;gap:12px}.file-info{gap:8px;flex:1;min-width:0}.file-icon{font-size:16px;flex-shrink:0}.file-name{font-size:14px;color:#333;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.file-size{font-size:12px;color:#6c757d;flex-shrink:0}.remove-file-btn{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6c757d;font-size:16px;font-weight:700;transition:all .2s;flex-shrink:0}.remove-file-btn:hover{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.upload-zone{border:2px dashed #6c757d;border-radius:8px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;background:#fff}.upload-zone:hover{border-color:#4f46e5;background:#f8f9ff}.upload-zone svg{color:#6c757d;margin-bottom:12px}.upload-zone:hover svg{color:#4f46e5}.upload-zone p{margin:8px 0 0 0;font-size:14px;color:#333}.upload-zone.drag-over{border-color:#3b82f6;background:#eff6ff;transform:scale(1.02)}.upload-zone .drag-hint{color:#3b82f6;font-weight:600}.upload-hint{font-size:12px!important;color:#6c757d!important}.upload-progress-bar{position:relative;width:100%;height:24px;background:#e9ecef;border-radius:12px;overflow:hidden;margin-top:8px}.upload-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .3s ease;border-radius:12px}.upload-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:600;color:#333;z-index:1}.remove-file-btn:disabled{opacity:.5;cursor:not-allowed}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn{border:1px solid #ddd}.btn.secondary{background:#f8f9fa;color:#333}.btn.secondary:hover{background:#e9ecef}.btn.primary{background:#4f46e5;border-color:#4f46e5}.btn.primary:hover{background:#4338ca}.btn:disabled{opacity:.5;cursor:not-allowed}.dark-mode .upload-dialog{background:#1e293b;box-shadow:0 10px 30px rgba(0,0,0,.5)}.dark-mode .dialog-header{border-bottom-color:#475569}.dark-mode .dialog-header h3{color:#f1f5f9}.dark-mode .close-btn{color:#94a3b8}.dark-mode .close-btn:hover{color:#f1f5f9}.dark-mode .form-group label{color:#cbd5e1}.dark-mode .form-group input,.dark-mode .form-group select,.dark-mode .form-group textarea{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .form-group input::-moz-placeholder,.dark-mode .form-group textarea::-moz-placeholder{color:#64748b}.dark-mode .form-group input::placeholder,.dark-mode .form-group textarea::placeholder{color:#64748b}.dark-mode .file-upload-area{background:#1e293b;border-color:#475569}.dark-mode .upload-dialog .file-upload-area{background:#020617;border-color:#1e293b}.dark-mode .upload-dialog .file-item{background:#020617!important;border-color:#1e293b!important}.dark-mode .file-item{background:#334155;border-color:#475569}.dark-mode .file-name{color:#f1f5f9}.dark-mode .file-size{color:#94a3b8}.dark-mode .remove-file-btn{background:#334155;border-color:#475569;color:#cbd5e1}.dark-mode .remove-file-btn:hover{background:#475569;border-color:#ef4444;color:#ef4444}.dark-mode .upload-zone{background:#1e293b;border-color:#475569}.dark-mode .upload-zone:hover{background:#334155;border-color:#60a5fa}.dark-mode .upload-zone svg{color:#94a3b8}.dark-mode .upload-zone:hover svg{color:#60a5fa}.dark-mode .upload-zone p{color:#cbd5e1}.dark-mode .upload-hint{color:#94a3b8!important}.dark-mode .btn.secondary{background:#334155;color:#cbd5e1;border-color:#475569}.dark-mode .btn.secondary:hover{background:#475569;color:#f1f5f9}.dark-mode .add-desc-btn{background:#334155;border-color:#475569;color:#cbd5e1}.dark-mode .add-desc-btn:hover{background:#475569;color:#60a5fa;border-color:#60a5fa}.visibility-option,.visibility-options{display:flex;gap:12px}.visibility-option{flex:1;align-items:center;padding:14px 16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff}.visibility-option:hover{border-color:#5eb6e4;background:rgba(94,182,228,.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(94,182,228,.15)}.visibility-option.active{border-color:#5eb6e4;background:linear-gradient(135deg,rgba(94,182,228,.12),rgba(0,68,204,.08));box-shadow:0 4px 12px rgba(94,182,228,.2)}.visibility-option .option-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b;transition:all .3s ease}.visibility-option.active .option-icon{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;box-shadow:0 4px 12px rgba(94,182,228,.4)}.visibility-option .option-content{flex:1}.visibility-option .option-title{font-size:15px;font-weight:600;color:#334155;margin-bottom:4px}.visibility-option.active .option-title{color:#04c}.visibility-option .option-desc{font-size:13px;color:#64748b}.visibility-option.active .option-desc{color:#5eb6e4}.dark-mode .visibility-option{border-color:#475569;background:#1e293b}.dark-mode .visibility-option:hover{border-color:#60a5fa;background:rgba(96,165,250,.1)}.dark-mode .visibility-option.active{border-color:#60a5fa;background:linear-gradient(135deg,rgba(96,165,250,.15),rgba(59,130,246,.1))}.dark-mode .visibility-option .option-icon{background:linear-gradient(135deg,#334155,#475569);color:#94a3b8}.dark-mode .visibility-option.active .option-icon{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.dark-mode .visibility-option .option-title{color:#cbd5e1}.dark-mode .visibility-option.active .option-title{color:#60a5fa}.dark-mode .visibility-option .option-desc{color:#94a3b8}.dark-mode .visibility-option.active .option-desc{color:#93c5fd}@media (max-width:768px){.upload-dialog{width:95%;max-height:calc(100vh - 40px);margin:20px auto}.dialog-header{padding:16px;flex-wrap:wrap}.dialog-header h3{font-size:16px}.close-btn{width:40px;height:40px;font-size:24px}.dialog-content{padding:16px}.form-group label{font-size:13px}.form-group input[type=text],.form-group select,.form-group textarea{font-size:14px;padding:10px 12px}.file-upload-area{padding:24px 16px}.upload-icon{width:48px;height:48px}.upload-text{font-size:14px}.upload-hint{font-size:12px}}@media (max-width:480px){.upload-dialog{width:98%;max-height:calc(100vh - 20px);margin:10px auto;border-radius:8px}.dialog-header{padding:12px}.dialog-title-section{gap:8px}.file-type-badge{padding:3px 8px;font-size:10px}.dialog-header h3{font-size:14px}.close-btn{width:36px;height:36px;font-size:20px;border-radius:8px}.dialog-content{padding:12px}.form-group{margin-bottom:12px}.form-group label{font-size:12px;margin-bottom:4px}.form-group input[type=text],.form-group select,.form-group textarea{font-size:13px;padding:8px 10px}.file-upload-area{padding:20px 12px;min-height:120px}.upload-icon{width:40px;height:40px}.upload-text{font-size:13px}.upload-hint{font-size:11px}.file-list{gap:8px}.file-item{padding:8px}.dialog-footer{padding:12px;gap:8px}.dialog-footer .btn{padding:10px 16px;font-size:13px}.visibility-option{padding:12px}.option-title{font-size:13px}.option-desc{font-size:11px}}.archive-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:9999;animation:fadeIn .3s ease}.archive-slide-panel{position:fixed;top:0;bottom:0;right:-480px;width:480px;background:#fff;box-shadow:-4px 0 12px rgba(0,0,0,.15);transition:right .3s ease;z-index:10000;display:flex;flex-direction:column}.archive-slide-panel.open{right:0}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid #e5e7eb;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);gap:12px}.panel-title{font-size:18px;font-weight:600;color:#1f2937}.panel-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#6b7280;flex-shrink:0}.panel-close-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444;transform:scale(1.05)}.panel-close-btn svg{width:20px;height:20px}.panel-content{flex:1;overflow-y:auto;padding:20px}.search-section{margin-bottom:16px}.search-container{position:relative;display:flex;align-items:center;max-width:400px}.search-input{width:100%;height:40px;padding:0 40px 0 16px;border:2px solid #e5e7eb;border-radius:8px;color:#374151;background:#fff;transition:all .2s ease;outline:none}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.search-icon{right:40px;pointer-events:none}.clear-search-btn,.search-icon{position:absolute;color:#9ca3af}.clear-search-btn{right:12px;width:20px;height:20px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.clear-search-btn:hover{background:#f3f4f6;color:#374151}.search-results-info{margin-top:8px;font-size:12px;color:#6b7280;font-weight:500}.archive-slide-panel .table-wrap{overflow-x:auto;margin-top:16px}.archive-slide-panel .doc-table{min-width:100%}.archive-slide-panel .doc-table thead th{font-size:12px;padding:10px 8px;white-space:nowrap}.archive-slide-panel .doc-table tbody td{font-size:13px;padding:10px 8px;white-space:normal}.archive-slide-panel .doc-table tbody .filename{max-width:260px}.archive-slide-panel .doc-table .file-name{overflow:hidden;white-space:normal;word-break:keep-all;overflow-wrap:break-word}.archive-slide-panel .ops{white-space:nowrap}.archive-slide-panel .ops a{margin-right:8px;font-size:12px;display:inline-block}@media (max-width:768px){.archive-slide-panel{width:100%;right:-100%}.panel-header{padding:14px 16px}.panel-title{font-size:16px}.panel-content{padding:16px}.search-container{max-width:100%}.search-input{height:38px;font-size:13px}}@media (max-width:480px){.panel-header{padding:12px}.panel-title{font-size:15px}.panel-close-btn{width:32px;height:32px}.panel-close-btn svg{width:18px;height:18px}.panel-content{padding:12px}.search-input{height:36px;font-size:13px;padding:0 36px 0 12px}.search-icon{right:36px}.archive-slide-panel .doc-table thead th{font-size:11px;padding:8px 6px}.archive-slide-panel .doc-table tbody td{font-size:12px;padding:8px 6px}}.dark-mode .archive-overlay{background:rgba(15,23,42,.7)}.dark-mode .archive-slide-panel{box-shadow:-4px 0 24px rgba(15,23,42,.95)}.dark-mode .panel-header{background:#020617;border-bottom-color:#1f2937;box-shadow:0 2px 8px rgba(15,23,42,.9)}.dark-mode .panel-title{color:#e5e7eb}.dark-mode .panel-close-btn{background:#020617;border-color:#4b5563;color:#9ca3af}.dark-mode .panel-close-btn:hover{background:#111827;border-color:#ef4444;color:#fecaca}.dark-mode .panel-content{background:#020617}.dark-mode .search-input{background:#020617;border-color:#1f2937;color:#e5e7eb}.dark-mode .search-input::-moz-placeholder{color:#6b7280}.dark-mode .search-input::placeholder{color:#6b7280}.dark-mode .clear-search-btn,.dark-mode .search-icon{color:#6b7280}.dark-mode .clear-search-btn:hover{background:#020617;color:#e5e7eb}.dark-mode .search-results-info{color:#9ca3af}.dark-mode .archive-slide-panel .table-wrap{background:#020617}.dark-mode .archive-slide-panel .doc-table thead th{background:#020617;color:#9ca3af}.dark-mode .archive-slide-panel .doc-table tbody td{color:#e5e7eb}.dark-mode .archive-slide-panel .doc-table tbody tr:nth-child(2n),.dark-mode .archive-slide-panel .doc-table tbody tr:nth-child(odd){background-color:#020617}.dark-mode .archive-slide-panel .ops a{color:#60a5fa}.dark-mode .archive-slide-panel .ops a.delete-link{color:#f97373}.dark-mode .archive-slide-panel .file-info{background:#020617;border-radius:14px;padding:10px 22px;box-shadow:0 0 0 1px #1f2937}.dark-mode .archive-overlay{background:rgba(0,0,0,.75)}.dark-mode .archive-slide-panel{background:#020617;color:#e5e7eb;box-shadow:-4px 0 18px rgba(0,0,0,.65)}.dark-mode .archive-slide-panel .panel-header{background:#020617;border-bottom-color:#1f2937;box-shadow:0 2px 8px rgba(0,0,0,.7)}.dark-mode .archive-slide-panel .panel-title{color:#e5e7eb}.dark-mode .archive-slide-panel .panel-close-btn{background:#020617;border-color:#1f2937;color:#9ca3af}.dark-mode .archive-slide-panel .panel-close-btn:hover{background:#111827;border-color:#ef4444;color:#fecaca}.dark-mode .archive-slide-panel .panel-content{background:#020617}.dark-mode .archive-slide-panel .search-input{background:#020617;border-color:#1f2937;color:#e5e7eb}.dark-mode .archive-slide-panel .search-input::-moz-placeholder{color:#6b7280}.dark-mode .archive-slide-panel .search-input::placeholder{color:#6b7280}.dark-mode .archive-slide-panel .search-results-info{color:#9ca3af}.dark-mode .archive-slide-panel .file-preview-card{background:#020617!important;border-color:#1f2937!important;box-shadow:0 8px 20px rgba(0,0,0,.7)!important}.dark-mode .archive-slide-panel .file-name{color:#f9fafb}.dark-mode .pagination.line{border-top-color:#1f2937}.dark-mode .pagination .pager-text{color:#9ca3af}.dark-mode .pagination .page-num,.dark-mode .pagination .pager{background:#020617;border-color:#1f2937;color:#e5e7eb}.dark-mode .pagination .page-num.active{background:#2563eb;border-color:#2563eb;color:#fff}.dark-mode .pagination .pager:disabled{background:#020617;color:#4b5563;border-color:#111827}.file-view-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:11000;animation:fadeIn .3s ease-out}.file-view-dialog{background:#fff;border-radius:16px;width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.2);animation:slideUp .3s ease-out}.file-view-header{justify-content:space-between;padding:24px 32px;border-bottom:1px solid #f1f5f9;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px 16px 0 0;flex-shrink:0}.file-info,.file-view-header{display:flex;align-items:center}.file-info{gap:16px}.achievement-badge{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(59,130,246,.3)}.achievement-badge,.achievement-badge.doc{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.achievement-badge.patent{background:linear-gradient(135deg,#f59e0b,#d97706)}.achievement-badge.dataset{background:linear-gradient(135deg,#10b981,#059669)}.achievement-badge.model{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.achievement-badge.report{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.achievement-icon{font-size:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.achievement-info h3{margin:0;font-size:20px;font-weight:700;color:#0f172a;word-break:break-all;line-height:1.3}.file-count-info{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b;margin-top:6px;font-weight:500}.count-icon{font-size:16px}.multi-file-content{display:flex;gap:24px;height:100%;padding:24px 32px}.file-list{width:350px;min-width:320px;border-right:1px solid #e2e8f0;padding-right:24px;overflow-y:auto;max-height:600px}.file-item{display:flex;align-items:center;justify-content:space-between;padding:20px;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);min-height:80px}.file-item:hover{border-color:#3b82f6;background:linear-gradient(135deg,#f8f9ff,#eef2ff);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.15)}.file-item.active{border-color:#3b82f6;background:linear-gradient(135deg,#eef2ff,#dbeafe);box-shadow:0 4px 12px rgba(59,130,246,.2);transform:translateY(-1px)}.file-item-info{display:flex;align-items:center;gap:20px;flex:1;min-width:0}.file-icon-wrapper{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.05)}.file-icon{font-size:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.file-details{flex:1;min-width:0}.file-details .file-name{font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px;font-size:15px;line-height:1.5}.file-meta{display:flex;align-items:center;gap:10px;font-size:13px;color:#64748b}.file-size{font-weight:500;color:#475569}.file-separator{color:#cbd5e1}.file-type{color:#64748b}.file-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{width:36px;height:36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;display:flex;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px rgba(0,0,0,.05)}.action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.download-btn:hover{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#10b981;color:#059669}.delete-btn:hover{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#ef4444;color:#dc2626}.detail-value{color:#2d3748}.file-preview-notice{margin-top:20px;padding:16px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;text-align:center}.file-preview-notice p{margin:0;color:#856404;font-size:14px}.feature-icon{font-size:18px}.file-view-content{flex:1;overflow:auto;padding:24px;min-height:400px}.text-content pre{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;color:#374151;white-space:pre-wrap;word-wrap:break-word;margin:0;max-height:500px;overflow:auto}.image-content{text-align:center}.image-content img{max-width:100%;max-height:500px}.image-content img,.pdf-content{border-radius:8px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.pdf-content{overflow:hidden}.pdf-content iframe{border:none;border-radius:8px}.info-content{text-align:center}.file-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:24px;text-align:left}.detail-item{display:flex;margin-bottom:12px;align-items:center}.detail-item:last-child{margin-bottom:0}.detail-label{font-weight:600;color:#374151;min-width:100px;flex-shrink:0}.detail-value{color:#6b7280;word-break:break-all;flex:1;min-width:0}.achievement-description{margin-top:20px;padding:16px;border-radius:8px;border:1px solid #e9ecef;flex:1;min-width:0}.achievement-description .detail-label{font-weight:600;color:#374151;font-size:14px;margin:0}.description-content{gap:8px}.description-item{flex-wrap:wrap}.desc-label{font-weight:500;color:#6c757d;min-width:80px}.desc-value{color:#495057;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #dee2e6;min-width:120px}.custom-description{margin:4px 0}.custom-description .desc-value{background:#e3f2fd;border-color:#bbdefb;color:#1976d2}.file-view-footer{justify-content:space-between;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;flex-shrink:0;position:relative;z-index:10;background:#fff}.file-view-footer,.footer-left{display:flex;align-items:center}.footer-right{display:flex;gap:12px}.description-header{margin-bottom:12px}.edit-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#5b6bff;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.edit-btn:hover{background:#4c5ae8}.edit-actions{display:flex;gap:8px}.cancel-btn,.save-btn{padding:6px 12px;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.save-btn{background:#10b981;color:#fff}.save-btn:hover{background:#059669}.cancel-btn{background:#6b7280;color:#fff}.cancel-btn:hover{background:#4b5563}.description-fields{gap:8px}.description-edit-form{margin-top:12px}.edit-fields{display:flex;flex-direction:column;gap:12px}.edit-field{display:flex;align-items:center;gap:12px}.edit-field label{font-weight:500;color:#374151;min-width:100px;flex-shrink:0}.edit-field input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.edit-field input:focus{outline:none;border-color:#5b6bff;box-shadow:0 0 0 3px rgba(91,107,255,.1)}.add-file-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#5b6bff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-file-btn:hover:not(:disabled){background:#4c5ae8;transform:translateY(-1px)}.add-file-btn:disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;opacity:.6}.add-file-btn:disabled:hover{transform:none}.add-file-btn svg{width:16px;height:16px}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.content-header h4{margin:0;color:#374151;font-size:16px;font-weight:600}.content-actions{display:flex;align-items:center;gap:8px}.edit-content-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;cursor:pointer;transition:all .2s ease}.edit-content-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.content-edit-actions{display:flex;align-items:center;gap:8px}.save-content-btn{padding:6px 16px;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.save-content-btn:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.save-content-btn:disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.cancel-content-btn{padding:6px 16px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;cursor:pointer;transition:all .2s ease}.cancel-content-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.content-body{margin-top:16px}.content-display{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto}.content-display,.content-editor{padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;color:#374151}.content-editor{width:100%;min-height:300px;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;resize:vertical;transition:border-color .2s ease}.content-editor:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.visibility-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b;border:1px solid #e2e8f0;transition:all .3s ease}.visibility-badge.public{background:linear-gradient(135deg,rgba(94,182,228,.15),rgba(0,68,204,.1));color:#04c;border-color:rgba(94,182,228,.3)}.visibility-badge svg{flex-shrink:0}.change-visibility-btn{padding:6px;margin-left:8px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;color:#64748b;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.change-visibility-btn:hover{background:rgba(94,182,228,.1);border-color:#5eb6e4;color:#04c;transform:scale(1.1)}.dark-mode .visibility-badge{background:linear-gradient(135deg,#334155,#475569);color:#94a3b8;border-color:#475569}.dark-mode .visibility-badge.public{background:linear-gradient(135deg,rgba(96,165,250,.2),rgba(59,130,246,.15));color:#60a5fa;border-color:rgba(96,165,250,.3)}.dark-mode .change-visibility-btn{border-color:#475569;color:#94a3b8}.dark-mode .change-visibility-btn:hover{background:rgba(96,165,250,.15);border-color:#60a5fa;color:#60a5fa}.achievement-info-section{padding:24px;background:#f8f9fa;border-radius:12px;margin-top:16px}.achievement-info-section .file-details{display:flex;flex-direction:column;gap:16px}.achievement-info-section .detail-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #e5e7eb}.achievement-info-section .detail-item:last-child{border-bottom:none}.achievement-info-section .detail-label{font-weight:600;color:#374151;min-width:100px;font-size:14px}.achievement-info-section .detail-value{color:#6b7280;font-size:14px;flex:1;display:flex;align-items:center;gap:8px}.dark-mode .achievement-info-section{background:#1f2937}.dark-mode .achievement-info-section .detail-item{border-bottom-color:#374151}.dark-mode .achievement-info-section .detail-label{color:#e5e7eb}.dark-mode .achievement-info-section .detail-value{color:#9ca3af}.dark-mode .file-view-overlay{background:rgba(15,23,42,.85);backdrop-filter:blur(8px)}.dark-mode .file-view-dialog{background:#020617;border-color:#1e293b;box-shadow:0 25px 60px -18px rgba(15,23,42,.95)}.dark-mode .file-view-header{background:linear-gradient(135deg,#020617,#020617);border-bottom-color:#1f2937}.dark-mode .achievement-info h3{color:#e5e7eb}.dark-mode .file-count-info{color:#94a3b8}.dark-mode .file-view-content{background:#020617}.dark-mode .multi-file-content{background:#0f172a}.dark-mode .file-list{border-right:1px solid #1e293b}.dark-mode .file-item{background:#1e293b;border:1px solid #334155;box-shadow:0 1px 3px rgba(15,23,42,.5)}.dark-mode .file-item:hover{box-shadow:0 4px 12px rgba(30,41,59,.5)}.dark-mode .file-item.active,.dark-mode .file-item:hover{background:#1e293b;border-color:#3b82f6}.dark-mode .file-icon-wrapper{background:#1e293b;box-shadow:0 2px 6px rgba(0,0,0,.2)}.dark-mode .file-details .file-name{color:#f8fafc}.dark-mode .file-meta{color:#94a3b8}.dark-mode .file-size{color:#cbd5e1}.dark-mode .file-type{color:#93c5fd}.dark-mode .file-separator{color:#475569}.dark-mode .action-btn{background:#1e293b;border:1px solid #334155;color:#e2e8f0}.dark-mode .action-btn:hover{background:#334155;border-color:#475569}.dark-mode .file-view-footer{background:#0f172a;border-top:1px solid #1e293b}.dark-mode .detail-label{color:#e2e8f0}.dark-mode .detail-value{color:#94a3b8}.dark-mode .achievement-description,.dark-mode .file-details{background:#1e293b;border:1px solid #334155;color:#e2e8f0}.dark-mode .achievement-description .detail-label{color:#e2e8f0}.dark-mode .desc-label{color:#94a3b8}.dark-mode .desc-value{background:#1e293b;border:1px solid #334155;color:#e2e8f0}.dark-mode .custom-description .desc-value{background:#1d4ed8;border-color:#1d4ed8;color:#e5f2ff}.dark-mode .content-display,.dark-mode .text-content pre{background:#1e293b;border:1px solid #334155;color:#e2e8f0}.dark-mode .content-editor{background-color:#1e293b;border-color:#334155;color:#e2e8f0}.single-file-card-container{margin-top:24px;margin-bottom:16px}.file-preview-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#fff,#f8fafc);border:1.5px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.file-preview-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(94,182,228,.03),rgba(0,68,204,.02));opacity:0;transition:opacity .3s ease;pointer-events:none}.file-preview-card:hover{border-color:#5eb6e4;box-shadow:0 8px 16px -4px rgba(0,68,204,.12),0 0 0 1px rgba(94,182,228,.15);transform:translateY(-2px)}.file-preview-card:hover:before{opacity:1}.file-preview-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5eb6e4,#04c);border-radius:12px;flex-shrink:0;color:#fff;box-shadow:0 4px 12px rgba(94,182,228,.25);position:relative;z-index:1;transition:all .3s ease}.file-preview-card:hover .file-preview-icon{transform:scale(1.05);box-shadow:0 6px 16px rgba(94,182,228,.35)}.file-preview-icon svg{width:28px;height:28px;stroke-width:2.5}.file-preview-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.file-preview-name{font-size:16px;font-weight:600;color:#0f172a;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;transition:color .2s ease}.dark-mode .file-preview-card{background:linear-gradient(135deg,#020617,#020617);border-color:#1f2937;box-shadow:0 8px 20px rgba(0,0,0,.6)}.dark-mode .file-preview-card:before{background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(37,99,235,.08))}.dark-mode .file-preview-name{color:#e5e7eb}.dark-mode .file-preview-hint,.dark-mode .file-preview-meta{color:#9ca3af}.file-preview-card:hover .file-preview-name{color:#04c}.file-preview-actions{gap:12px;position:relative;z-index:1}.file-delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.file-delete-btn:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626;transform:scale(1.05)}.file-delete-btn:active{transform:scale(.95)}.file-delete-btn svg{width:16px;height:16px}.dark-mode .file-delete-btn{border-color:#374151;color:#9ca3af}.dark-mode .file-delete-btn:hover{background:rgba(239,68,68,.15);border-color:#ef4444;color:#fca5a5}.file-preview-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-preview-type{padding:4px 12px;background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-radius:8px;font-size:12px;font-weight:600;color:#1e40af;white-space:nowrap;letter-spacing:.02em;border:1px solid rgba(30,64,175,.1);transition:all .2s ease}.file-preview-card:hover .file-preview-type{background:linear-gradient(135deg,#bfdbfe,#93c5fd);border-color:rgba(30,64,175,.2)}.file-preview-size{font-size:12px;font-weight:500;color:#64748b;padding:4px 8px;background:#f1f5f9;border-radius:6px;white-space:nowrap;transition:all .2s ease}.file-preview-card:hover .file-preview-size{background:#e2e8f0;color:#475569}.dark-mode .file-preview-card{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155}.dark-mode .file-preview-card:before{background:linear-gradient(135deg,rgba(94,182,228,.08),rgba(0,68,204,.05))}.dark-mode .file-preview-card:hover{border-color:#5eb6e4;box-shadow:0 8px 16px -4px rgba(0,68,204,.2),0 0 0 1px rgba(94,182,228,.25)}.dark-mode .file-preview-name{color:#f1f5f9}.dark-mode .file-preview-card:hover .file-preview-name{color:#93c5fd}.dark-mode .file-preview-type{background:linear-gradient(135deg,rgba(30,64,175,.3),rgba(30,64,175,.2));color:#93c5fd;border-color:rgba(147,197,253,.2)}.dark-mode .file-preview-card:hover .file-preview-type{background:linear-gradient(135deg,rgba(30,64,175,.4),rgba(30,64,175,.3));border-color:rgba(147,197,253,.3)}.dark-mode .file-preview-size{background:#334155;color:#94a3b8}.dark-mode .file-preview-card:hover .file-preview-size{background:#475569;color:#cbd5e1}html.dark-mode .file-preview-dialog .single-file-card-container,html.dark-mode .file-preview-dialog .single-file-card-container .file-preview-card{background:#020617!important;border-color:#1f2937!important}.file-preview-pdf-canvas-wrapper{max-height:70vh;background:#0f172a;border-radius:8px}.file-preview-pdf-canvas-wrapper canvas{border-radius:4px}.pdf-viewer-toolbar{margin-top:12px;gap:12px}.pdf-viewer-toolbar .btn.small{padding:4px 10px;font-size:12px}.pdf-page-info{font-size:13px;color:#e5e7eb}.pdf-zoom{display:inline-flex;align-items:center;gap:6px}.achievement-description{padding:24px;background:#f8f9fa;border-radius:12px;margin-top:16px}.description-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.description-header .detail-label{font-weight:600;color:#374151;font-size:14px}.description-content,.description-fields{flex-direction:column;gap:16px}.description-fields{display:flex}.description-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #e5e7eb}.description-item:last-child{border-bottom:none}.desc-label{font-weight:600;color:#374151;min-width:100px;font-size:14px;flex-shrink:0}.desc-value{color:#6b7280;font-size:14px;flex:1;display:flex;align-items:center;gap:8px;word-break:break-all}.dark-mode .achievement-description{background:#1f2937}.dark-mode .description-header{border-bottom-color:#374151}.dark-mode .description-header .detail-label{color:#e5e7eb}.dark-mode .description-item{border-bottom-color:#374151}.dark-mode .description-item:last-child{border-bottom:none}.dark-mode .desc-label{color:#e5e7eb}.dark-mode .desc-value{color:#9ca3af}.add-btn.disabled,.add-btn:disabled{color:#e5e7eb!important;cursor:not-allowed!important}.add-btn.disabled,.add-btn.disabled:hover,.add-btn:disabled,.add-btn:disabled:hover{background:linear-gradient(135deg,#9ca3af,#6b7280)!important;box-shadow:none!important;transform:none!important}:deep(html.dark-mode .contribution-heatmap-container){background:#1e293b!important;border-color:#334155!important}:deep(html.dark-mode .heatmap-title){color:#e5e7eb!important}.modal-overlay{background:rgba(15,23,42,.6);backdrop-filter:blur(8px);z-index:12000}.modal-content{border-radius:20px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);max-width:520px;width:88%;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;position:relative;margin:auto}.modal-header{align-items:flex-start;padding:20px 24px 12px;background:#fff;border-bottom:1px solid rgba(226,232,240,.9)}.modal-title{margin:0 0 4px 0;font-size:20px;font-weight:700;color:#111827}.modal-subtitle{margin:0 0 16px;font-size:14px;font-weight:500;color:#4b5563}.modal-close{width:32px;height:32px;background:rgba(241,245,249,.9);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s ease}.modal-close:hover{background:rgba(239,68,68,.1);color:#ef4444;transform:rotate(90deg) scale(1.05)}.modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 24px 4px;background:#fff}.loading-container{padding:80px 32px;gap:20px}.loading-spinner-large{width:48px;height:48px;border:4px solid #f1f5f9;border-top:4px solid #04c;border-radius:50%;animation:spin .8s linear infinite}.loading-text{font-size:15px;font-weight:500;color:#64748b}.empty-state{padding:80px 32px;gap:16px}.empty-icon{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,#f0f7ff,#e0f2fe);display:flex;align-items:center;justify-content:center;color:#5eb6e4}.empty-text{font-size:15px;font-weight:500;color:#94a3b8}.file-list-container{padding:8px 28px 24px}.file-list{display:flex;flex-direction:column;gap:10px}.file-card{background:#1e293b;border:1.5px solid #e2e8f0;border-radius:14px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;width:100%;box-sizing:border-box;min-height:70px}.file-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,68,204,.03),rgba(94,182,228,.03));opacity:0;transition:opacity .25s}.file-card:hover{border-color:#5eb6e4;transform:translateY(-2px);box-shadow:0 8px 16px -4px rgba(0,68,204,.15),0 0 0 1px rgba(94,182,228,.2)}.file-card:hover:before{opacity:1}.file-card.selected{border-color:#04c;background:linear-gradient(135deg,#f0f7ff,#e3f2ff);box-shadow:0 4px 12px -2px rgba(0,68,204,.2),0 0 0 1px rgba(0,68,204,.15)}.file-card.selected:before{opacity:1}.file-card-content{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;gap:16px;position:relative;z-index:1}.file-card-main{flex:1;min-width:0}.file-name-wrapper{display:flex;flex-direction:column;gap:10px}.file-name{font-size:16px;font-weight:600;color:#111827;line-height:1.5;white-space:normal}.file-card.selected .file-name{color:#04c}.file-badge-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-type-badge{padding:4px 10px;background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-radius:8px;font-size:12px;font-weight:600;color:#1e40af;border:1px solid rgba(30,64,175,.1)}.file-card.selected .file-type-badge{background:linear-gradient(135deg,#bfdbfe,#93c5fd);color:#1e3a8a;border-color:rgba(30,64,175,.2)}.file-count-badge{padding:3px 8px;background:#f1f5f9;border-radius:6px;font-size:11px;font-weight:600;color:#64748b}.file-select-indicator{width:26px;height:26px;border-radius:8px;border:2px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0}.file-select-indicator.active{background:linear-gradient(135deg,#04c,#5eb6e4);border-color:#04c;transform:scale(1.1);box-shadow:0 4px 12px rgba(0,68,204,.3)}.checkmark-circle{color:#fff;display:flex;align-items:center;justify-content:center}.modal-footer{padding:12px 24px 18px;background:linear-gradient(135deg,#fafbfc,#f8fafc);border-top:1px solid rgba(226,232,240,.8)}.modal-body p{margin:0;font-size:15px;line-height:1.6;color:#333}html.dark-mode .modal-content{background:#1e293b}html.dark-mode .modal-header{background:linear-gradient(135deg,#1f2937,#020617);border-bottom-color:rgba(15,23,42,.9)}html.dark-mode .modal-title{color:#e5e7eb}html.dark-mode .modal-body{background:#020617}html.dark-mode .modal-body p{color:#e5e7eb}html.dark-mode .modal-footer{background:linear-gradient(135deg,#020617,#020617);border-top-color:rgba(30,64,175,.6)}html.dark-mode .modal-footer .btn.btn-secondary,html.dark-mode .modal-footer .btn.secondary{background:transparent;color:#e5e7eb;border-color:#4b5563}html.dark-mode .modal-footer .btn.btn-secondary:hover,html.dark-mode .modal-footer .btn.secondary:hover{background:rgba(15,23,42,.8);border-color:#9ca3af}html.dark-mode .modal-footer .btn.btn-primary,html.dark-mode .modal-footer .btn.primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.modal-footer .btn{min-width:96px;height:38px;border-radius:6px;font-size:14px;font-weight:500}.modal-footer .btn.btn-secondary,.modal-footer .btn.secondary{background:#f8f9fa;color:#333;border-color:#ddd}.modal-footer .btn.btn-secondary:hover,.modal-footer .btn.secondary:hover{background:#e9ecef;border-color:#ddd}.modal-footer .btn.btn-primary,.modal-footer .btn.primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.modal-footer .btn.btn-primary:hover,.modal-footer .btn.primary:hover{background:#4338ca;border-color:#4338ca}.file-info{margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px}.file-info p{margin:8px 0;font-size:14px;color:#333}.file-info h3{margin:0;font-size:18px;font-weight:600;color:#111827;word-break:break-all}html.dark-mode .file-view-dialog .file-info{background:#020617!important;color:#e5e7eb}.archive-card-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.archive-card{display:flex;align-items:stretch;justify-content:space-between;padding:14px 18px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 10px rgba(15,23,42,.08);transition:all .2s ease}.archive-card-color-bar{width:6px;border-radius:999px;margin-right:12px;align-self:stretch}.archive-card-color-bar.doc{background:#2563eb}.archive-card-color-bar.patent{background:#ea580c}.archive-card-color-bar.dataset{background:#059669}.archive-card-color-bar.model{background:#7c3aed}.archive-card-color-bar.report{background:#eab308}.archive-card:hover{border-color:#bfdbfe;box-shadow:0 10px 24px rgba(15,23,42,.12);transform:translateY(-2px)}.archive-card-main{flex:1;min-width:0}.archive-card-title-row{display:flex;align-items:flex-start;gap:10px}.archive-card-title-group{flex:1;min-width:0}.archive-card-name{font-size:15px;font-weight:600;color:#111827;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;font-size:12px;color:#6b7280}.archive-card-count{margin-top:4px;font-size:12px;color:#9ca3af}.archive-card-ops{display:flex;align-items:center;flex-shrink:0;gap:10px;margin-left:18px}.archive-op-btn{border:none;background:transparent;padding:0;font-size:13px;color:#2563eb;cursor:pointer}.archive-op-btn:hover{text-decoration:underline}.archive-op-btn.delete{color:#ef4444}.archive-card-empty{padding:32px 16px;text-align:center;font-size:14px;color:#9ca3af}.doc-table .filename{display:flex;align-items:center;gap:8px}.doc-table .file-name{font-size:14px;font-weight:500;color:#111827;line-height:1.5;white-space:normal;overflow-wrap:break-word;word-break:break-word}.linked-tasks-list{margin-top:8px}.linked-tasks-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#64748b;margin-bottom:4px}.linked-tasks-header .clear-link{padding:0;border:none;background:transparent;font-size:12px;color:#9ca3af;cursor:pointer}.linked-tasks-header .clear-link:hover{color:#ef4444}.linked-task-item{display:inline-flex;align-items:center;padding:4px 8px;margin:4px 4px 0 0;border-radius:999px;background:#f9fafb;border:1px solid #e5e7eb;max-width:100%}.linked-task-item.small{padding:3px 8px;margin:3px 4px 0 0}.task-main{display:flex;align-items:center;gap:6px;max-width:100%}.task-title-row{display:inline-flex;gap:6px;max-width:100%}.task-title{font-size:12px;font-weight:500;color:#0f172a;max-width:180px}.task-id-badge{font-size:11px;padding:2px 6px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.task-meta{color:#64748b;margin-left:4px}.task-remove-btn{margin-left:4px;width:18px;height:18px;border-radius:999px;border:none;background:transparent;color:#cbd5f5;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;padding:0;transition:all .15s ease}.task-remove-btn:hover{background:#fee2e2;color:#ef4444}.detail-item-linked-tasks{align-items:flex-start}.detail-linked-tasks{flex:1}.status-selector{display:flex;align-items:center;gap:8px;margin-left:16px}.status-selector label{font-size:14px;font-weight:500;color:#374151;white-space:nowrap}.status-select{height:36px;padding:0 12px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;outline:none}.status-select:hover{border-color:#9ca3af}.status-select:focus{outline:none;border-color:#5eb6e4;box-shadow:0 0 0 2px rgba(94,182,228,.2);background-color:#1e293b}.dark-mode .status-selector label{color:#e5e7eb}.dark-mode .status-select{border-color:#4b5563}.dark-mode .status-select,.dark-mode .status-select option{background:#020617;color:#f9fafb}html:not(.dark-mode) .status-select{border-color:#e5e7eb!important}html:not(.dark-mode) .status-select,html:not(.dark-mode) .status-select option{background:#fff!important;color:#111827!important}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-draft{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.status-badge.status-review{background:#dbeafe;color:#1e3a8a;border:1px solid #3b82f6}.status-badge.status-published{background:#d1fae5;color:#065f46;border:1px solid #10b981}.status-badge.status-obsolete{background:#f3f4f6;color:#4b5563;border:1px solid #9ca3af}.file-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.file-preview-dialog{width:95%;max-width:1400px;height:90vh;max-height:900px;background:#1e293b;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}.file-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #334155;background:#1e293b;flex-shrink:0;color:#fff}.file-preview-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-preview-icon-small{display:flex;align-items:center;color:#6b7280;flex-shrink:0}.file-preview-name-text{font-size:16px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-size-text{font-size:14px;color:#e2e8f0;font-weight:400}.file-preview-actions{display:flex;align-items:center;gap:8px}.file-preview-close-btn,.file-preview-download-btn,.file-preview-ocr-btn{width:36px;height:36px;border:none;background:transparent;color:#e2e8f0;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.file-preview-close-btn:hover,.file-preview-download-btn:hover,.file-preview-ocr-btn:hover{background:#334155;color:#fff}.file-preview-close-btn:active,.file-preview-download-btn:active,.file-preview-ocr-btn:active{background:#475569;transform:scale(.95)}.file-preview-content{flex:1;overflow:auto;position:relative;background:#1e293b;color:#fff}.file-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#fff}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#4f46e5}.file-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#dc2626;padding:40px;text-align:center}.file-preview-error svg{color:#dc2626}.ocr-mode-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:13000;animation:fadeIn .2s ease}.ocr-mode-dialog{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease}.ocr-mode-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.ocr-mode-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.ocr-mode-dialog-content{padding:24px;overflow-y:auto;flex:1}.ocr-mode-hint{margin:0 0 20px 0;color:#6b7280;font-size:14px}.ocr-mode-list{display:flex;flex-direction:column;gap:12px}.ocr-mode-item{border:2px solid #e5e7eb;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;background:#fff}.ocr-mode-item:hover{border-color:#5eb6e4;background:#f0f9ff}.ocr-mode-item.selected{border-color:#04c;background:#eff6ff}.ocr-mode-item-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.ocr-mode-radio{flex-shrink:0;margin-top:2px}.radio-circle{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;position:relative;transition:all .2s ease}.radio-circle.checked{border-color:#04c}.radio-circle.checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#04c;border-radius:50%}.ocr-mode-info{flex:1}.ocr-mode-name{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:4px}.ocr-mode-desc{font-size:14px;color:#6b7280;line-height:1.5}.ocr-mode-limit{font-size:12px;color:#9ca3af;margin-top:8px;padding-top:8px;border-top:1px solid #f3f4f6}.ocr-mode-dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb}.ocr-result-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:13000;animation:fadeIn .2s ease}.ocr-result-dialog{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease}.ocr-result-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.ocr-result-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.ocr-result-dialog-content{padding:24px;overflow-y:auto;flex:1;min-height:0}.ocr-result-error,.ocr-result-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:16px}.ocr-result-error svg,.ocr-result-loading svg{color:#9ca3af}.ocr-result-error p,.ocr-result-loading p{margin:0;color:#6b7280;font-size:16px}.ocr-result-text{display:flex;flex-direction:column;gap:16px}.ocr-result-actions{display:flex;gap:8px;justify-content:flex-end}.ocr-result-textarea-wrapper{position:relative;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb}.ocr-result-textarea{width:100%;min-height:400px;max-height:500px;padding:16px;border:none;background:transparent;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:#1f2937;resize:vertical;outline:none}.ocr-result-textarea:focus{background:#fff}.ocr-result-info{font-size:12px;color:#9ca3af;text-align:right}.ocr-result-dialog-actions{display:flex;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e5e7eb}.dark-mode .ocr-mode-dialog,.dark-mode .ocr-result-dialog{background:#1f2937;color:#f3f4f6}.dark-mode .ocr-mode-dialog-header,.dark-mode .ocr-result-dialog-header{border-bottom-color:#374151}.dark-mode .ocr-mode-dialog-header h3,.dark-mode .ocr-result-dialog-header h3{color:#f3f4f6}.dark-mode .ocr-mode-hint{color:#9ca3af}.dark-mode .ocr-mode-item{border-color:#374151;background:#111827}.dark-mode .ocr-mode-item:hover{border-color:#5eb6e4;background:#1e3a5f}.dark-mode .ocr-mode-item.selected{border-color:#04c;background:#1e3a5f}.dark-mode .radio-circle{border-color:#4b5563}.dark-mode .ocr-mode-name{color:#f3f4f6}.dark-mode .ocr-mode-desc{color:#9ca3af}.dark-mode .ocr-mode-limit{color:#6b7280;border-top-color:#374151}.dark-mode .ocr-mode-dialog-actions,.dark-mode .ocr-result-dialog-actions{border-top-color:#374151}.dark-mode .ocr-result-textarea-wrapper{border-color:#374151;background:#111827}.dark-mode .ocr-result-textarea{color:#f3f4f6;background:transparent}.dark-mode .ocr-result-textarea:focus{background:#1f2937}.dark-mode .ocr-result-info{color:#6b7280}.file-preview-image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;background:#f9fafb;overflow:auto;position:relative}.file-preview-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.file-preview-pdf-container{width:100%;height:100%;background:#1e293b;position:relative;display:flex;flex-direction:column;overflow:hidden}.file-preview-pdf-canvas-wrapper{flex:1;width:100%;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.file-preview-pdf-canvas-wrapper canvas{max-width:100%;max-height:100%;box-shadow:0 4px 20px rgba(0,0,0,.3);border-radius:8px;background:#fff}.pdf-viewer-toolbar{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.8);backdrop-filter:blur(10px);padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:16px;border-top:1px solid hsla(0,0%,100%,.1);z-index:10}.pdf-page-info{color:#fff;font-size:14px;font-weight:500;min-width:80px;text-align:center}.file-preview-pdf{width:100%;height:100%;border:none}.file-preview-text-container{width:100%;height:100%;padding:24px;overflow:auto;background:#1e293b;color:#fff}.file-preview-text{margin:0;padding:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;color:#fff}.file-preview-text code{font-family:inherit;background:transparent;padding:0}.file-preview-code-container{background:#1e293b;color:#fff}.file-preview-code{color:#fff;overflow-x:auto}.file-preview-code code{display:block;width:100%}.file-preview-video-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;background:#000}.file-preview-video{max-width:100%;max-height:100%;outline:none}.file-preview-audio-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px;background:#f9fafb}.file-preview-audio-wrapper{width:100%;max-width:600px}.file-preview-audio{width:100%;outline:none}.file-preview-office-container{width:100%;height:100%;background:#f9fafb}.office-viewer-wrapper{width:100%;height:100%;position:relative}.file-preview-office{width:100%;height:100%;border:none}.office-viewer-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#6b7280;padding:40px;text-align:center}.office-viewer-fallback svg{color:#9ca3af}.office-viewer-hint{font-size:14px;color:#9ca3af;margin-top:-8px}.office-viewer-options{display:flex;gap:12px;margin-top:16px}.file-preview-code-container{width:100%;height:100%;padding:24px;overflow:auto;background:#1e1e1e}.file-preview-code{margin:0;padding:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:#d4d4d4;white-space:pre;word-wrap:break-word}.file-preview-code code{font-family:inherit;background:transparent;padding:0;color:inherit}.file-preview-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#6b7280;padding:40px;text-align:center}.file-preview-unsupported svg{color:#9ca3af}.file-preview-unsupported-hint{font-size:14px;color:#9ca3af;margin-top:-8px}.file-preview-hint{position:absolute;top:8px;right:8px;font-size:12px;color:#6b7280;background:hsla(0,0%,100%,.9);padding:4px 8px;border-radius:4px;opacity:0;transition:opacity .2s ease}.file-preview-card:hover .file-preview-hint{opacity:1}.file-preview-card{position:relative}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.success-modal-content{background:#fff;border-radius:16px;padding:32px 40px;box-shadow:0 20px 60px rgba(0,0,0,.2);text-align:center;min-width:320px;max-width:480px;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.success-modal-icon{margin:0 auto 20px;animation:checkmarkPop .5s cubic-bezier(.34,1.56,.64,1) .2s backwards}.success-modal-title{font-size:20px;font-weight:600;color:#10b981;margin:0 0 12px 0}.success-modal-message{font-size:15px;color:#6b7280;margin:0;line-height:1.6}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes checkmarkPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.document-actions{gap:12px;margin:20px 0;padding:8px 0;position:relative}.document-actions:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.2),transparent)}.document-actions .action-btn{position:relative;white-space:nowrap;text-align:center;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;min-width:100px;border:none;border-radius:8px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#334155;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px rgba(0,0,0,.05),0 4px 6px -1px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.8);overflow:hidden;z-index:1}.document-actions .action-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(99,102,241,0));opacity:0;transition:opacity .3s ease;z-index:-1;border-radius:6px}.document-actions .action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08),0 6px 8px -2px rgba(0,0,0,.05);color:#1e293b}.document-actions .action-btn:hover:before{opacity:1}.document-actions .action-btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.05),inset 0 2px 4px rgba(0,0,0,.05)}.document-actions .action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;background:#f1f5f9;color:#94a3b8;box-shadow:none}.document-actions .action-btn.saved{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 2px 4px rgba(79,70,229,.2),0 4px 6px -1px rgba(99,102,241,.1)}.document-actions .action-btn.saved:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px rgba(79,70,229,.25),0 6px 8px -2px rgba(99,102,241,.15)}.document-actions .action-btn.saved:active{background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 2px 4px rgba(0,0,0,.1),inset 0 2px 4px rgba(0,0,0,.1)}.document-actions .action-btn i{margin-right:6px;font-size:.9em;transition:transform .2s ease}.document-actions .action-btn:hover i{transform:translateX(2px)}.cabinet-view{display:flex;flex-direction:column;height:100%;animation:fadeInUp .6s ease-out;padding:0;margin:0}.cabinet-view .cabinet-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;flex:1;min-height:0;height:100%;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1);position:relative}.cabinet-view .cabinet-layout.sidebar-collapsed{grid-template-columns:60px 1fr}.cabinet-view .list-pane{background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid rgba(226,232,240,.6);border-radius:24px;padding:24px;display:flex;flex-direction:column;min-height:0;box-shadow:0 4px 16px rgba(0,0,0,.04),0 1px 4px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;backdrop-filter:blur(20px)}.cabinet-view .list-empty-hint{margin-top:40px;padding:32px 16px 24px;text-align:center;color:#9ca3af;font-size:13px;font-weight:500;line-height:1.6}.cabinet-view .list-empty-hint p{margin:0}.cabinet-view .list-pane:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(94,182,228,.3),transparent)}.cabinet-view .list-pane.collapsed{padding:20px 10px;align-items:center}.cabinet-view .list-pane:hover{box-shadow:0 8px 32px rgba(94,182,228,.12),0 2px 8px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.9);border-color:rgba(94,182,228,.4);transform:translateY(-1px)}.cabinet-view .toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;flex-shrink:0}.cabinet-view .toolbar-buttons{display:flex;gap:10px;align-items:center}.cabinet-view .search{width:100%;height:44px;border:2px solid #e2e8f0;border-radius:14px;padding:0 18px;font-size:14px;transition:all .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#fff,#f8fafc);color:#1e293b;font-weight:500;position:relative}.cabinet-view .search::-moz-placeholder{color:#94a3b8;font-weight:400}.cabinet-view .search::placeholder{color:#94a3b8;font-weight:400}.cabinet-view .search:focus{outline:none;border-color:#5eb6e4;background:#fff;box-shadow:0 0 0 5px rgba(94,182,228,.12),0 6px 20px rgba(94,182,228,.2),inset 0 1px 2px rgba(94,182,228,.1);transform:translateY(-2px)}.cabinet-view .folder-section{margin-bottom:12px}.cabinet-view .group-title{color:#111827;font-size:15px;margin:6px 0 2px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color .15s ease,color .15s ease;padding:8px 4px;min-height:40px;border-radius:8px;font-weight:600;text-transform:none;letter-spacing:0;position:relative;gap:10px;line-height:1.3;background:transparent;border:none;box-shadow:none}.cabinet-view .group-title svg{flex-shrink:0}.cabinet-view .group-title:hover{color:#0f172a;background:#f3f4f6}.cabinet-view .folder-icon{transition:all .3s cubic-bezier(.4,0,.2,1);transform:rotate(-90deg);color:#64748b;width:16px!important;height:16px!important;flex-shrink:0}.cabinet-view .folder-icon.expanded{transform:rotate(0deg);color:#5eb6e4}.cabinet-view .doc-list{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.cabinet-view .doc-list::-webkit-scrollbar{display:none;width:0;height:0}.cabinet-view .doc-list li{padding:6px 10px 6px 18px;border-radius:4px;cursor:pointer;color:#4b5563;font-size:13px;font-weight:400;margin-bottom:2px;margin-left:12px;transition:background-color .15s ease,color .15s ease;position:relative;border:none;background:transparent}.cabinet-view .doc-list li:hover{background:#eef2ff;color:#1f2937}.cabinet-view .doc-list li:active{background:#dbeafe;color:#1d4ed8}.cabinet-view .doc-list li.active{background:transparent;color:inherit;font-weight:inherit}.cabinet-view .doc-list li:last-child{border-bottom:none}.cabinet-view .doc-list li.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:transparent}.cabinet-view .sidebar-ocr-entry{margin-top:auto;padding-top:12px;padding-right:52px}.cabinet-view .sidebar-ocr-btn{width:100%}.cabinet-view .collapse-btn{position:absolute;bottom:20px;right:20px;width:36px;height:36px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.08);color:#64748b;z-index:10}.cabinet-view .collapse-btn:hover{background:linear-gradient(135deg,#5eb6e4,#04c);border-color:transparent;color:#fff;transform:scale(1.05) translateY(-2px);box-shadow:0 4px 16px rgba(94,182,228,.4)}.cabinet-view .collapse-btn svg.rotated{transform:rotate(180deg)}.cabinet-view .editor-pane{background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid rgba(226,232,240,.6);border-radius:24px;padding:28px;display:flex;flex-direction:column;min-height:0;flex:1;box-shadow:0 4px 16px rgba(0,0,0,.04),0 1px 4px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8);transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(20px);position:relative;overflow-x:hidden;overflow-y:visible}.cabinet-view .editor-pane:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(94,182,228,.3),transparent)}.cabinet-view .editor-pane:hover{box-shadow:0 8px 32px rgba(94,182,228,.12),0 2px 8px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.9);border-color:rgba(94,182,228,.4);transform:translateY(-1px)}.cabinet-view .doc-meta{padding:0 0 24px;flex-shrink:0;border-bottom:2px solid #f1f5f9;margin-bottom:24px;position:relative;display:flex;flex-wrap:wrap;align-items:flex-start}.cabinet-view .doc-meta:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,#5eb6e4,#04c);border-radius:2px}.cabinet-view .doc-title{font-size:28px;font-weight:800;color:#0f172a;margin-bottom:10px;line-height:1.2;background:linear-gradient(135deg,#0f172a,#334155 40%,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.8px;position:relative;margin-right:16px}.cabinet-view .doc-updated{color:#64748b;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;padding-left:2px;margin-right:auto}.cabinet-view .editor-wrapper{position:relative;flex:1;min-height:400px;display:flex;flex-direction:column}.cabinet-view .editor{width:100%;flex:1;min-height:400px;border:2px solid #e2e8f0;border-radius:16px;padding:24px;font-size:15px;line-height:1.8;resize:none;transition:all .4s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;box-shadow:inset 0 2px 4px rgba(0,0,0,.02),0 1px 0 hsla(0,0%,100%,.8);overflow-x:hidden;overflow-y:auto;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap;box-sizing:border-box}.cabinet-view .editor.readonly{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;cursor:default;border-color:#e2e8f0}.cabinet-view .editor:not(.readonly){background:linear-gradient(135deg,#fff,#fafbfc);color:#1e293b;border-color:#e2e8f0}.cabinet-view .editor:not(.readonly):focus{outline:none;border-color:#5eb6e4;background:#fff;box-shadow:0 0 0 5px rgba(94,182,228,.12),0 6px 20px rgba(94,182,228,.15),inset 0 2px 4px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.9);transform:translateY(-1px)}.cabinet-view .empty-editor{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9 50%,#fff);border-radius:20px;border:2px dashed #cbd5e1;margin:24px 0;position:relative;overflow:hidden;min-height:300px;padding:40px}.cabinet-view .empty-editor:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(94,182,228,.08) 0,transparent 70%);animation:pulse 4s ease-in-out infinite}.cabinet-view .empty-editor:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(94,182,228,.06) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,68,204,.04) 0,transparent 50%);pointer-events:none}.cabinet-view .empty-editor p{margin:0;color:#64748b;font-size:18px;font-weight:600;position:relative;z-index:1;text-align:center;letter-spacing:-.3px;background:linear-gradient(135deg,#64748b,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cabinet-view .editor-footer{display:flex;align-items:center;gap:12px;margin-top:24px;flex-shrink:0;padding-top:24px;border-top:2px solid #f1f5f9;position:relative}.cabinet-view .editor-footer:before{content:"";position:absolute;top:-2px;left:0;width:80px;height:2px;background:linear-gradient(90deg,#5eb6e4,#04c);border-radius:2px}.cabinet-view .flex-spacer{flex:1}.document-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:16px 0;border-top:1px solid #f0f0f0;width:100%;flex-wrap:nowrap}.version-actions{display:flex;gap:12px;margin-right:auto;flex-shrink:0}.action-buttons{gap:12px;margin-left:auto;flex-shrink:0}.document-actions .btn{padding:6px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9d9d9;height:36px;min-width:80px;background:#fff;color:#595959;box-shadow:0 1px 2px rgba(0,0,0,.05)}.document-actions .btn.primary{background-color:#1890ff;color:#fff;border-color:#1890ff}.document-actions .btn.primary:hover:not(:disabled){background-color:#40a9ff;border-color:#40a9ff}.document-actions .btn.primary:disabled{background-color:#bae7ff;border-color:#bae7ff;cursor:not-allowed}.document-actions .btn.secondary{background-color:#fff;color:#595959;border-color:#d9d9d9}.document-actions .btn.secondary:hover:not(:disabled){color:#1890ff;border-color:#1890ff;background-color:#f0f9ff}.document-actions .btn.secondary:disabled{color:#bfbfbf;background-color:#f5f5f5;border-color:#e8e8e8;cursor:not-allowed}.version-actions .btn{background-color:#f5f5f5;border-color:#d9d9d9;color:#595959}.version-actions .btn:hover:not(:disabled){background-color:#fff;color:#1890ff;border-color:#1890ff}.version-actions .btn:disabled{color:#bfbfbf;background-color:#f5f5f5;border-color:#e8e8e8;cursor:not-allowed}.document-actions .btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.document-actions .btn:not(:disabled):active{transform:translateY(0);box-shadow:none}.dark-mode .document-actions{border-top-color:#2d3748}.dark-mode .document-actions .btn{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0}.dark-mode .document-actions .btn.primary{background-color:#3182ce;border-color:#3182ce;color:#fff}.dark-mode .document-actions .btn.primary:hover:not(:disabled){background-color:#4299e1;border-color:#4299e1}.dark-mode .document-actions .btn.secondary:hover:not(:disabled){background-color:#2d3748;border-color:#4a5568;color:#63b3ed}.dark-mode .version-actions .btn{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0}.dark-mode .version-actions .btn:hover:not(:disabled){background-color:#2d3748;color:#63b3ed;border-color:#63b3ed}.version-actions:after{content:"";display:inline-block;width:1px;height:24px;background-color:#e5e7eb;margin:0 8px}.dark-mode .version-actions:after{background-color:#4a5568}@media (max-width:640px){.document-actions{flex-direction:column;gap:12px}.action-buttons,.version-actions{width:100%;justify-content:space-between}.version-actions:after{display:none}}.export-btn-wrapper{position:relative;display:inline-flex;margin-left:auto;align-self:flex-start;margin-top:0}.export-btn{display:inline-flex;padding:6px 18px;background:linear-gradient(135deg,#1d4ed8,#2563eb 40%,#3b82f6);border:none;border-radius:999px;font-size:13px;font-weight:600;box-shadow:0 6px 16px rgba(37,99,235,.35);transition:all .2s ease}.export-btn span{white-space:nowrap}.export-btn:hover:not(:disabled){box-shadow:0 10px 24px rgba(37,99,235,.45)}.export-btn:disabled{box-shadow:none}.export-btn svg{display:block}.export-arrow{width:12px;height:12px;transition:transform .2s ease}.export-arrow.rotated{transform:rotate(180deg)}.export-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;background:#fff;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.25),0 0 0 1px rgba(148,163,184,.18);padding:6px 0;z-index:1000;animation:kb-export-slide-down .18s ease-out;overflow:hidden}.export-option{width:100%;padding:9px 16px;text-align:left;background:transparent;border:none;outline:none;font-size:13px;color:#475569;cursor:pointer;transition:all .15s ease;white-space:nowrap}.export-option+.export-option{border-top:1px solid #e5e7eb}.export-option:hover{background:#eff6ff;color:#1d4ed8}@keyframes kb-export-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cabinet-view .btn{height:42px;padding:0 24px;border:2px solid #e2e8f0;background:linear-gradient(135deg,#fff,#fafbfc);border-radius:14px;cursor:pointer;font-size:14px;font-weight:600;white-space:nowrap;transition:all .4s cubic-bezier(.4,0,.2,1);color:#475569;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.8)}.cabinet-view .btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);transition:left .6s}.cabinet-view .btn:hover:before{left:100%}.cabinet-view .btn:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.9);border-color:#cbd5e1}.cabinet-view .btn.primary{background:linear-gradient(135deg,#5eb6e4,#3b82f6 50%,#04c);color:#fff;border-color:transparent;box-shadow:0 6px 20px rgba(94,182,228,.4),0 2px 8px rgba(0,68,204,.3),inset 0 1px 0 hsla(0,0%,100%,.2);position:relative}.cabinet-view .btn.primary:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsla(0,0%,100%,.2),transparent 50%,rgba(0,0,0,.1));border-radius:14px;pointer-events:none}.cabinet-view .btn.primary:hover{background:linear-gradient(135deg,#04c,#039 50%,#026);box-shadow:0 10px 32px rgba(94,182,228,.5),0 4px 12px rgba(0,68,204,.4),inset 0 1px 0 hsla(0,0%,100%,.25);transform:translateY(-4px) scale(1.02)}.cabinet-view .btn.primary:active{transform:translateY(-1px) scale(.98)}.cabinet-view .btn.primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px rgba(94,182,228,.2)}.cabinet-view .btn.secondary{background:linear-gradient(135deg,#f8fafc,#fff);color:#334155;border-color:#e2e8f0}.cabinet-view .btn.secondary:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;color:#1e293b}.cabinet-view .btn.small{height:38px;padding:0 20px;font-size:13px;border-radius:12px;font-weight:600}.cabinet-view .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.cabinet-view .upload-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.cabinet-view .upload-dialog{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.2);max-width:560px;width:90%;max-height:85vh;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(226,232,240,.8)}.cabinet-view .dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid #f1f5f9;background:linear-gradient(135deg,#f8fafc,#fff)}.cabinet-view .dialog-header h3{margin:0;font-size:20px;font-weight:700;color:#0f172a;letter-spacing:-.5px}.cabinet-view .close-btn{background:none;border:none;font-size:28px;color:#94a3b8;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease;line-height:1}.cabinet-view .close-btn:hover{color:#475569;background:rgba(148,163,184,.1);transform:rotate(90deg)}.cabinet-view .dialog-content{padding:28px;overflow-y:auto;max-height:calc(85vh - 100px)}.cabinet-view .form-group{margin-bottom:20px}.cabinet-view .form-group label{display:block;margin-bottom:10px;font-weight:600;color:#334155;font-size:14px}.cabinet-view .form-group input,.cabinet-view .form-group select,.cabinet-view .form-group textarea{width:100%;padding:12px 16px;border:1.5px solid #e2e8f0;border-radius:12px;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f8fafc;color:#1e293b;font-family:inherit}.cabinet-view .form-group input:focus,.cabinet-view .form-group select:focus,.cabinet-view .form-group textarea:focus{outline:none;border-color:#5eb6e4;background:#fff;box-shadow:0 0 0 4px rgba(94,182,228,.1),0 4px 12px rgba(94,182,228,.1)}.cabinet-view .form-group textarea{min-height:140px;resize:vertical;line-height:1.6}.cabinet-view .form-group input::-moz-placeholder,.cabinet-view .form-group textarea::-moz-placeholder{color:#94a3b8}.cabinet-view .form-group input::placeholder,.cabinet-view .form-group textarea::placeholder{color:#94a3b8}.cabinet-view .dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:2px solid #f1f5f9}@media (max-width:900px){.cabinet-view .cabinet-layout{grid-template-columns:1fr}.cabinet-view .list-pane{max-height:300px}}.dark-mode .cabinet-view{background-color:#0f172a;color:#f1f5f9}.dark-mode .cabinet-view .list-pane{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:rgba(71,85,105,.6);box-shadow:0 2px 8px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,.2)}.dark-mode .cabinet-view .list-pane:hover{border-color:rgba(94,182,228,.4);box-shadow:0 8px 24px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3)}.dark-mode .cabinet-view .collapse-btn{background:#334155;border-color:#475569;color:#cbd5e1;box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark-mode .cabinet-view .collapse-btn:hover{background:linear-gradient(135deg,#5eb6e4,#04c);border-color:transparent;color:#fff;box-shadow:0 4px 16px rgba(94,182,228,.5)}.dark-mode .cabinet-view .search{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .cabinet-view .search:focus{border-color:#5eb6e4;background:#334155;box-shadow:0 0 0 4px rgba(94,182,228,.2),0 4px 12px rgba(94,182,228,.2)}.dark-mode .cabinet-view .search::-moz-placeholder{color:#64748b}.dark-mode .cabinet-view .search::placeholder{color:#64748b}.dark-mode .cabinet-view .group-title{color:#94a3b8}.dark-mode .cabinet-view .group-title:hover{color:#cbd5e1;background:rgba(94,182,228,.1)}.dark-mode .cabinet-view .doc-list li{color:#cbd5e1}.dark-mode .cabinet-view .doc-list li:hover{background:linear-gradient(135deg,rgba(94,182,228,.15),rgba(94,182,228,.08));color:#f1f5f9}.dark-mode .cabinet-view .doc-list li.active{background:linear-gradient(135deg,rgba(94,182,228,.25),rgba(0,68,204,.2));color:#60a5fa;box-shadow:0 2px 8px rgba(94,182,228,.3)}.cabinet-view .node-selector{position:relative}.cabinet-view .node-input-wrapper{position:relative;display:flex;align-items:center}.cabinet-view .node-input{width:100%;padding:12px 40px 12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:18px!important;font-weight:700;transition:all .2s ease;background:#fff;color:#1e293b;font-family:inherit;box-shadow:0 1px 3px rgba(0,0,0,.05)}.cabinet-view .node-picker-item span{font-size:16px!important;font-weight:600}.cabinet-view .node-input:focus{outline:none;border-color:#5eb6e4;box-shadow:0 0 0 4px rgba(94,182,228,.1),0 4px 12px rgba(94,182,228,.15);transform:translateY(-1px)}.cabinet-view .node-input::-moz-placeholder{color:#94a3b8}.cabinet-view .node-input::placeholder{color:#94a3b8}.cabinet-view .node-input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none;transition:transform .2s ease}.cabinet-view .node-input:focus+.node-input-icon,.cabinet-view .node-selector.show .node-input-icon{transform:translateY(-50%) rotate(180deg);color:#5eb6e4}.cabinet-view .node-picker-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08);max-height:300px;overflow-y:auto;z-index:1000;animation:slideDown .2s ease-out}.cabinet-view .node-picker-item{padding:12px 16px;cursor:pointer;transition:all .15s ease;color:#334155;font-size:14px;display:flex;align-items:center;border-bottom:1px solid #f1f5f9}.cabinet-view .node-picker-item:last-child{border-bottom:none}.cabinet-view .node-picker-item:hover{background:linear-gradient(135deg,rgba(94,182,228,.1),rgba(94,182,228,.05));color:#04c}.cabinet-view .node-picker-item.selected{background:linear-gradient(135deg,rgba(94,182,228,.15),rgba(94,182,228,.1));color:#04c;font-weight:600}.cabinet-view .node-picker-empty{padding:20px 16px;text-align:center;color:#94a3b8;font-size:14px}.dark-mode .cabinet-view .node-input{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .cabinet-view .node-input:focus{border-color:#5eb6e4;box-shadow:0 0 0 4px rgba(94,182,228,.2),0 4px 12px rgba(94,182,228,.2);background:#334155}.dark-mode .cabinet-view .node-input::-moz-placeholder{color:#64748b}.dark-mode .cabinet-view .node-input::placeholder{color:#64748b}.dark-mode .cabinet-view .node-input-icon{color:#94a3b8}.dark-mode .cabinet-view .node-picker-dropdown{background:#1e293b;border-color:#475569;box-shadow:0 8px 24px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4)}.dark-mode .cabinet-view .node-picker-item{color:#cbd5e1;border-bottom-color:#334155}.dark-mode .cabinet-view .node-picker-item:hover{background:linear-gradient(135deg,rgba(94,182,228,.15),rgba(94,182,228,.08));color:#60a5fa}.dark-mode .cabinet-view .node-picker-item.selected{background:linear-gradient(135deg,rgba(94,182,228,.2),rgba(94,182,228,.15));color:#60a5fa}.dark-mode .cabinet-view .node-picker-empty{color:#64748b}.cabinet-view .file-input-hidden{position:absolute;width:0;height:0;opacity:0;overflow:hidden;z-index:-1}.cabinet-view .file-upload-area{position:relative;min-height:160px;border:2px dashed #cbd5e1;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#fff);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.cabinet-view .file-upload-area:hover{border-color:#5eb6e4;background:linear-gradient(135deg,#f0f9ff,#f8fafc);box-shadow:0 4px 12px rgba(94,182,228,.15);transform:translateY(-2px)}.cabinet-view .file-upload-area.has-file{border-color:#5eb6e4;border-style:solid;background:#fff;cursor:default}.cabinet-view .file-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.cabinet-view .upload-icon-wrapper{width:80px;height:80px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(94,182,228,.1),rgba(0,68,204,.05));border-radius:20px;transition:all .3s ease}.cabinet-view .file-upload-area:hover .upload-icon-wrapper{transform:scale(1.05);background:linear-gradient(135deg,rgba(94,182,228,.15),rgba(0,68,204,.1))}.cabinet-view .upload-icon{color:#5eb6e4;animation:float 3s ease-in-out infinite}.cabinet-view .upload-text{margin:0 0 8px 0;font-size:16px;font-weight:600;color:#1e293b;letter-spacing:-.3px}.cabinet-view .upload-hint{margin:0;font-size:13px;color:#64748b}.cabinet-view .file-preview-card{display:flex;align-items:center;gap:16px;padding:20px;animation:slideIn .3s ease-out}.cabinet-view .file-preview-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(94,182,228,.1),rgba(0,68,204,.05));border-radius:12px;flex-shrink:0;color:#5eb6e4}.cabinet-view .file-preview-info{flex:1;min-width:0}.cabinet-view .file-preview-name{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.2px}.cabinet-view .file-preview-meta{font-size:13px;color:#64748b}.cabinet-view .file-preview-remove{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:rgba(239,68,68,.1);color:#ef4444;border-radius:8px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.cabinet-view .file-preview-remove:hover{background:rgba(239,68,68,.2);transform:scale(1.1)}.cabinet-view .file-preview-remove:active{transform:scale(.95)}.dark-mode .cabinet-view .file-upload-area{border-color:#475569;background:linear-gradient(135deg,#1e293b,#334155)}.dark-mode .cabinet-view .file-upload-area:hover{border-color:#5eb6e4;background:linear-gradient(135deg,#334155,#1e293b);box-shadow:0 4px 12px rgba(94,182,228,.2)}.dark-mode .cabinet-view .file-upload-area.has-file{border-color:#5eb6e4;background:#1e293b}.dark-mode .cabinet-view .upload-icon-wrapper{background:linear-gradient(135deg,rgba(94,182,228,.15),rgba(0,68,204,.1))}.dark-mode .cabinet-view .upload-text{color:#f1f5f9}.dark-mode .cabinet-view .upload-hint{color:#94a3b8}.dark-mode .cabinet-view .file-preview-icon{background:linear-gradient(135deg,rgba(94,182,228,.15),rgba(0,68,204,.1))}.dark-mode .cabinet-view .file-preview-name{color:#f1f5f9}.dark-mode .cabinet-view .file-preview-meta{color:#94a3b8}.dark-mode .cabinet-view .file-preview-remove{background:rgba(239,68,68,.2)}.dark-mode .cabinet-view .file-preview-remove:hover{background:rgba(239,68,68,.3)}.dark-mode .cabinet-view .editor-pane{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:rgba(71,85,105,.6);box-shadow:0 2px 8px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,.2)}.dark-mode .cabinet-view .editor-pane:hover{border-color:rgba(94,182,228,.4);box-shadow:0 8px 24px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3)}.dark-mode .cabinet-view .doc-meta{border-bottom-color:#334155}.dark-mode .cabinet-view .doc-title{background:linear-gradient(135deg,#f1f5f9,#cbd5e1 50%,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .cabinet-view .doc-updated{color:#94a3b8}.dark-mode .cabinet-view .editor{border-color:#475569}.dark-mode .cabinet-view .editor.readonly{background:linear-gradient(135deg,#1e293b,#334155);color:#94a3b8;border-color:#475569}.dark-mode .cabinet-view .editor:not(.readonly){background:#0f172a;color:#f1f5f9;border-color:#475569}.dark-mode .cabinet-view .editor:not(.readonly):focus{border-color:#5eb6e4;box-shadow:0 0 0 4px rgba(94,182,228,.2),0 4px 12px rgba(94,182,228,.2);background:#0f172a}.dark-mode .cabinet-view .empty-editor{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569}.dark-mode .cabinet-view .empty-editor p{color:#64748b}.dark-mode .cabinet-view .editor-footer{border-top-color:#334155}.dark-mode .cabinet-view .btn{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .cabinet-view .btn:hover{background:#475569;border-color:#64748b;color:#f1f5f9}.dark-mode .cabinet-view .btn.primary{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-color:transparent;box-shadow:0 4px 16px rgba(94,182,228,.4),0 2px 8px rgba(0,68,204,.3)}.dark-mode .cabinet-view .btn.primary:hover{background:linear-gradient(135deg,#04c,#039);box-shadow:0 6px 24px rgba(94,182,228,.5),0 4px 12px rgba(0,68,204,.4)}.dark-mode .cabinet-view .btn.secondary{background:linear-gradient(135deg,#334155,#475569);color:#cbd5e1;border-color:#475569}.dark-mode .cabinet-view .btn.secondary:hover{background:linear-gradient(135deg,#475569,#64748b);color:#f1f5f9}.dark-mode .cabinet-view .upload-dialog{background:#1e293b;border-color:#475569;box-shadow:0 20px 60px rgba(0,0,0,.6),0 8px 24px rgba(0,0,0,.4)}.dark-mode .cabinet-view .dialog-header{border-bottom-color:#334155;background:linear-gradient(135deg,#334155,#1e293b)}.dark-mode .cabinet-view .dialog-header h3{color:#f1f5f9}.dark-mode .cabinet-view .close-btn{color:#94a3b8}.dark-mode .cabinet-view .close-btn:hover{color:#f1f5f9;background:rgba(148,163,184,.15)}.dark-mode .cabinet-view .form-group label{color:#cbd5e1}.dark-mode .cabinet-view .form-group input,.dark-mode .cabinet-view .form-group select,.dark-mode .cabinet-view .form-group textarea{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .cabinet-view .form-group input:focus,.dark-mode .cabinet-view .form-group select:focus,.dark-mode .cabinet-view .form-group textarea:focus{border-color:#5eb6e4;background:#334155;box-shadow:0 0 0 4px rgba(94,182,228,.2),0 4px 12px rgba(94,182,228,.2)}.dark-mode .cabinet-view .form-group input::-moz-placeholder,.dark-mode .cabinet-view .form-group textarea::-moz-placeholder{color:#64748b}.dark-mode .cabinet-view .form-group input::placeholder,.dark-mode .cabinet-view .form-group textarea::placeholder{color:#64748b}.dark-mode .cabinet-view .dialog-actions{border-top-color:#334155}.dark-mode .cabinet-view .upload-dialog-overlay{background:rgba(15,23,42,.8)}.document-actions .action-btn.active{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-color:#5eb6e4;box-shadow:0 2px 8px rgba(94,182,228,.3)}.document-actions .action-btn.active:hover{background:linear-gradient(135deg,#04c,#039);box-shadow:0 4px 12px rgba(94,182,228,.4)}.wiki-collab-overlay[data-v-8c2bcce8]{position:fixed;pointer-events:none;z-index:1000;overflow:hidden}.collab-cursor[data-v-8c2bcce8]{position:absolute;width:2px;height:20px;background-color:var(--cursor-color,#5eb6e4);animation:cursor-blink-8c2bcce8 1s infinite;pointer-events:none;z-index:1}.collab-cursor.is-self[data-v-8c2bcce8]{opacity:.7;width:2px}.collab-cursor .cursor-line[data-v-8c2bcce8]{width:100%;height:100%;background-color:var(--cursor-color,#5eb6e4)}.collab-cursor .cursor-label[data-v-8c2bcce8]{position:absolute;top:-22px;left:2px;padding:2px 6px;background-color:var(--cursor-color,#5eb6e4);color:#fff;font-size:11px;white-space:nowrap;border-radius:4px;opacity:.95;transform:translateX(-50%);pointer-events:none;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px rgba(0,0,0,.2);max-width:150px}.collab-cursor .cursor-avatar[data-v-8c2bcce8]{width:14px;height:14px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;border:1px solid hsla(0,0%,100%,.3)}.collab-cursor .cursor-name[data-v-8c2bcce8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collab-range[data-v-8c2bcce8]{position:absolute;background-color:var(--range-color,#5eb6e4);opacity:.2;border-left:2px solid var(--range-color,#5eb6e4);pointer-events:none}.collab-range.is-self[data-v-8c2bcce8]{opacity:.15;border-left-width:3px}.collab-range .range-label[data-v-8c2bcce8]{position:absolute;top:-18px;left:0;padding:2px 6px;background-color:var(--range-color,#5eb6e4);color:#fff;font-size:11px;white-space:nowrap;border-radius:3px;opacity:.9;pointer-events:none}@keyframes cursor-blink-8c2bcce8{0%,50%{opacity:1}51%,to{opacity:.3}}.ocr-recognize-modal-overlay[data-v-94cc94a6]{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:13000;padding:20px}.ocr-recognize-modal[data-v-94cc94a6]{width:100%;max-width:900px;max-height:85vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-94cc94a6]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-94cc94a6]{font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-94cc94a6]{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:22px;line-height:32px;color:#6b7280;border-radius:8px}.modal-close[data-v-94cc94a6]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-94cc94a6]{padding:16px 20px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.section[data-v-94cc94a6]{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}.section-title[data-v-94cc94a6]{font-size:13px;font-weight:700;color:#111827;margin-bottom:10px}.upload-container[data-v-94cc94a6]{display:flex;flex-direction:column;gap:12px}.drag-drop-area[data-v-94cc94a6]{min-height:240px;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;width:100%}.drag-drop-area[data-v-94cc94a6]:before{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(135deg,rgba(94,182,228,.05),rgba(59,130,246,.05));opacity:0;transition:opacity .3s ease}.drag-drop-area[data-v-94cc94a6]:hover{border-color:#5eb6e4;background:#f0f9ff;border-width:2px}.drag-drop-area[data-v-94cc94a6]:hover:before{opacity:1}.drag-drop-area.drag-over[data-v-94cc94a6]{border-color:#04c;background:#eff6ff;border-style:solid;border-width:2px;transform:scale(1.02);box-shadow:0 0 0 4px rgba(0,68,204,.1)}.drag-drop-area.drag-over[data-v-94cc94a6]:before{opacity:1;background:linear-gradient(135deg,rgba(94,182,228,.1),rgba(59,130,246,.1))}.drag-drop-area.has-file[data-v-94cc94a6]{border-color:#10b981;background:#fff;border-style:solid;border-width:2px}.drag-drop-area.has-file[data-v-94cc94a6]:before{opacity:0}.drag-drop-content[data-v-94cc94a6]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:50px 20px;text-align:center;position:relative;z-index:1;width:100%}.drag-drop-content svg[data-v-94cc94a6]{color:#94a3b8;transition:all .3s ease;width:64px;height:64px}.drag-drop-area:hover .drag-drop-content svg[data-v-94cc94a6]{color:#5eb6e4;transform:translateY(-4px)}.drag-drop-area.drag-over .drag-drop-content svg[data-v-94cc94a6]{color:#04c;transform:scale(1.1)}.drag-drop-text[data-v-94cc94a6]{font-size:16px;font-weight:600;color:#1e293b;margin:0;transition:color .3s ease}.drag-drop-area:hover .drag-drop-text[data-v-94cc94a6]{color:#04c}.drag-drop-hint[data-v-94cc94a6]{font-size:13px;color:#64748b;margin:0;transition:color .3s ease}.drag-drop-area:hover .drag-drop-hint[data-v-94cc94a6]{color:#475569}.file-preview-content[data-v-94cc94a6]{width:100%;padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:1;background:transparent}.preview-image[data-v-94cc94a6]{width:100%;max-width:400px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.05)}.preview-image img[data-v-94cc94a6]{width:100%;max-height:300px;-o-object-fit:contain;object-fit:contain;display:block;border-radius:4px}.file-info[data-v-94cc94a6]{display:flex;flex-direction:column;align-items:center;gap:4px}.file-name[data-v-94cc94a6]{color:#111827;font-weight:600;font-size:14px}.file-size[data-v-94cc94a6]{font-size:12px;color:#6b7280}.file-input[data-v-94cc94a6]{display:none}.delete-btn[data-v-94cc94a6]{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:hsla(0,0%,100%,.95);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s ease;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.1)}.delete-btn[data-v-94cc94a6]:hover{background:#fff;color:#dc2626;transform:scale(1.1);box-shadow:0 4px 12px rgba(220,38,38,.2)}.delete-btn[data-v-94cc94a6]:active{transform:scale(.95)}.delete-btn svg[data-v-94cc94a6]{width:18px;height:18px}.mode-list[data-v-94cc94a6]{display:grid;grid-template-columns:1fr;gap:10px}.mode-item[data-v-94cc94a6]{border:2px solid #e5e7eb;border-radius:10px;padding:10px;cursor:pointer;transition:all .2s ease}.mode-item[data-v-94cc94a6]:hover{border-color:#5eb6e4;background:#f0f9ff}.mode-item.selected[data-v-94cc94a6]{border-color:#04c;background:#eff6ff}.mode-top[data-v-94cc94a6]{display:flex;gap:10px}.radio-circle[data-v-94cc94a6]{width:18px;height:18px;border-radius:50%;border:2px solid #d1d5db}.radio-circle.checked[data-v-94cc94a6]{border-color:#04c;position:relative}.radio-circle.checked[data-v-94cc94a6]:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:#04c}.mode-name[data-v-94cc94a6]{font-size:13px;font-weight:700;color:#111827}.mode-desc[data-v-94cc94a6]{font-size:12px;color:#6b7280;line-height:1.4;margin-top:4px}.mode-limit[data-v-94cc94a6]{margin-top:10px;padding-top:8px;border-top:1px solid #f3f4f6;font-size:12px;color:#6b7280}.error[data-v-94cc94a6]{grid-column:1/-1;color:#dc2626;font-size:13px}.modal-footer[data-v-94cc94a6]{padding:14px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}@media (max-width:900px){.modal-body[data-v-94cc94a6]{grid-template-columns:1fr}}.ocr-result-modal-overlay[data-v-f4c7a794]{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:13001;padding:20px}.ocr-result-modal[data-v-f4c7a794]{width:100%;max-width:800px;max-height:85vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-f4c7a794]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-f4c7a794]{font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-f4c7a794]{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:22px;line-height:32px;color:#6b7280;border-radius:8px}.modal-close[data-v-f4c7a794]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-f4c7a794]{padding:20px;overflow:auto;flex:1}.error-state[data-v-f4c7a794],.loading-state[data-v-f4c7a794]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loading-spinner[data-v-f4c7a794]{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#04c;border-radius:50%;animation:spin-f4c7a794 1s linear infinite;margin-bottom:16px}@keyframes spin-f4c7a794{to{transform:rotate(1turn)}}.error-state p[data-v-f4c7a794],.loading-state p[data-v-f4c7a794]{margin-top:16px;color:#6b7280;font-size:14px}.error-state svg[data-v-f4c7a794]{color:#dc2626;margin-bottom:16px}.error-state .btn[data-v-f4c7a794]{margin-top:20px}.result-content[data-v-f4c7a794]{display:flex;flex-direction:column;gap:12px}.result-actions[data-v-f4c7a794]{display:flex;gap:8px;justify-content:flex-end}.result-textarea-wrapper[data-v-f4c7a794]{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#f9fafb}.result-textarea[data-v-f4c7a794]{width:100%;min-height:400px;max-height:60vh;resize:vertical;border:none;padding:16px;font-size:14px;line-height:1.6;font-family:Consolas,Monaco,Courier New,monospace;background:#f9fafb;color:#111827;outline:none}.result-textarea[data-v-f4c7a794]:focus{background:#fff}.result-info[data-v-f4c7a794]{font-size:12px;color:#9ca3af;text-align:right}.modal-footer[data-v-f4c7a794]{padding:14px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.btn[data-v-f4c7a794]{padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.btn[data-v-f4c7a794]:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.btn.primary[data-v-f4c7a794]{background:linear-gradient(135deg,#5eb6e4,#3b82f6 50%,#04c);color:#fff;border-color:transparent}.btn.primary[data-v-f4c7a794]:hover:not(:disabled){background:linear-gradient(135deg,#04c,#039 50%,#026)}.btn.secondary[data-v-f4c7a794]{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.btn.secondary[data-v-f4c7a794]:hover:not(:disabled){background:#e5e7eb}.btn.small[data-v-f4c7a794]{padding:6px 12px;font-size:13px}.btn[data-v-f4c7a794]:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.ocr-result-modal[data-v-f4c7a794]{max-width:95%}.result-textarea[data-v-f4c7a794]{min-height:300px}}.cabinet-view[data-v-efc44a16]{display:flex;flex-direction:column;height:100%;animation:fadeInUp-efc44a16 .6s ease-out;padding:0;margin:0}@keyframes fadeInUp-efc44a16{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cabinet-layout[data-v-efc44a16]{display:grid;grid-template-columns:260px 1fr;gap:12px;flex:1;min-height:0;height:100%;transition:grid-template-columns .3s ease;position:relative}.cabinet-layout.sidebar-collapsed[data-v-efc44a16]{grid-template-columns:60px 1fr}.list-pane[data-v-efc44a16]{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e5e7eb;border-radius:16px;padding:16px;display:flex;flex-direction:column;min-height:0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s ease;position:relative;overflow:hidden}.list-pane.collapsed[data-v-efc44a16]{padding:16px 8px;align-items:center}.collapse-btn[data-v-efc44a16]{position:absolute;bottom:16px;right:8px;width:32px;height:32px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#64748b;z-index:10}.collapse-btn[data-v-efc44a16]:hover{background:#f1f5f9;border-color:#5eb6e4;color:#5eb6e4;transform:scale(1.1)}.collapse-btn svg.rotated[data-v-efc44a16]{transform:rotate(180deg)}.list-pane[data-v-efc44a16]:hover{box-shadow:0 8px 15px -5px rgba(0,0,0,.15)}.toolbar[data-v-efc44a16]{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;flex-shrink:0}.toolbar-buttons[data-v-efc44a16]{display:flex;gap:10px;align-items:center}.search-container[data-v-efc44a16]{position:relative;width:100%}.search[data-v-efc44a16]{width:100%;height:36px;border:2px solid #e5e7eb;border-radius:10px;padding:0 36px 0 12px;font-size:13px;transition:all .3s ease;background:#fff;cursor:pointer}.search[data-v-efc44a16]:hover{border-color:#cbd5e1}.search-icon[data-v-efc44a16]{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.search-dialog-overlay[data-v-efc44a16]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-start;justify-content:center;z-index:2000;padding-top:100px;animation:fadeIn-efc44a16 .2s ease}@keyframes fadeIn-efc44a16{0%{opacity:0}to{opacity:1}}.search-dialog[data-v-efc44a16]{width:600px;max-width:90vw;max-height:70vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;animation:slideDown-efc44a16 .3s ease}@keyframes slideDown-efc44a16{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.search-dialog-header[data-v-efc44a16]{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;gap:12px}.search-header-icon[data-v-efc44a16]{color:#64748b;flex-shrink:0}.search-dialog-input[data-v-efc44a16]{flex:1;border:none;outline:none;font-size:16px;color:#1e293b}.search-dialog-input[data-v-efc44a16]::-moz-placeholder{color:#94a3b8}.search-dialog-input[data-v-efc44a16]::placeholder{color:#94a3b8}.search-dialog-close[data-v-efc44a16]{flex-shrink:0;width:32px;height:32px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.search-dialog-close[data-v-efc44a16]:hover{background:#f1f5f9;color:#64748b}.search-dialog-body[data-v-efc44a16]{flex:1;overflow-y:auto;min-height:200px;max-height:calc(70vh - 80px)}.search-tips[data-v-efc44a16]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center}.tips-icon[data-v-efc44a16]{color:#cbd5e1;margin-bottom:16px}.search-tips p[data-v-efc44a16]{margin:0;color:#64748b;font-size:15px;font-weight:500}.tips-hint[data-v-efc44a16]{font-size:13px!important;color:#94a3b8!important;margin-top:8px!important}.search-loading-state[data-v-efc44a16]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px}.loading-ring[data-v-efc44a16]{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#5eb6e4;border-radius:50%;animation:spin-efc44a16 .8s linear infinite;margin-bottom:16px}.search-loading-state p[data-v-efc44a16]{margin:0;color:#64748b;font-size:14px}.search-results-container[data-v-efc44a16]{padding:16px}.results-count[data-v-efc44a16]{font-size:13px;color:#64748b;margin-bottom:12px;padding:0 8px}.results-list[data-v-efc44a16]{display:flex;flex-direction:column;gap:8px}.result-item[data-v-efc44a16]{display:flex;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s}.result-item[data-v-efc44a16]:hover{background:#f8fafc}.result-icon[data-v-efc44a16]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#e0f2fe;border-radius:8px;color:#0284c7}.result-content[data-v-efc44a16]{flex:1;min-width:0}.result-title[data-v-efc44a16]{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px;line-height:1.4}.result-snippet[data-v-efc44a16]{font-size:13px;color:#64748b;line-height:1.5;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-meta[data-v-efc44a16]{display:flex;align-items:center;gap:8px;font-size:12px}.result-path[data-v-efc44a16]{color:#5eb6e4}.result-date[data-v-efc44a16]{color:#cbd5e1}.search-no-results[data-v-efc44a16]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center}.no-results-icon[data-v-efc44a16]{color:#cbd5e1;margin-bottom:16px;opacity:.6}.search-no-results h3[data-v-efc44a16]{margin:0 0 8px 0;color:#475569;font-size:16px;font-weight:600}.search-no-results p[data-v-efc44a16]{margin:0;color:#94a3b8;font-size:13px}.search-highlight[data-v-efc44a16]{background:#fef08a;color:#854d0e;padding:2px 4px;border-radius:3px;font-weight:600}.group-title[data-v-efc44a16]{color:#4b5563;font-size:16px;font-weight:600;margin:10px 0 6px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:color .2s ease;padding:0 10px}.group-title[data-v-efc44a16]:hover{color:#374151}.folder-icon[data-v-efc44a16]{transition:transform .2s ease;transform:rotate(180deg)}.folder-icon.expanded[data-v-efc44a16]{transform:rotate(0deg)}.folder-section[data-v-efc44a16]{margin-bottom:8px}.title-actions[data-v-efc44a16]{display:flex;align-items:center;gap:8px}.delete-node-btn[data-v-efc44a16]{padding:5px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:0;flex-shrink:0}.group-title:hover .delete-node-btn[data-v-efc44a16]{opacity:1}.delete-node-btn[data-v-efc44a16]:hover{background:#fee2e2;color:#ef4444;transform:scale(1.15);box-shadow:0 2px 8px rgba(239,68,68,.2)}.doc-list[data-v-efc44a16]{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}.doc-list .doc-item[data-v-efc44a16]{padding:6px 10px 6px 18px;border-radius:4px;cursor:pointer;color:#4b5563;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:6px;transition:background-color .15s ease,color .15s ease;background:transparent;width:100%;box-sizing:border-box}.doc-list .doc-item .doc-title[data-v-efc44a16]{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-list .doc-item[data-v-efc44a16]:hover{background:#eef2ff!important;color:#1f2937!important}.doc-list .doc-item[data-v-efc44a16]:active{background:#dbeafe!important;color:#1d4ed8!important}.doc-list .doc-item.active[data-v-efc44a16]{background:transparent;color:inherit;font-weight:inherit}.delete-doc-btn[data-v-efc44a16]{padding:5px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:0;flex-shrink:0}.doc-item:hover .delete-doc-btn[data-v-efc44a16]{opacity:1}.delete-doc-btn[data-v-efc44a16]:hover{background:#fee2e2;color:#ef4444;transform:scale(1.15);box-shadow:0 2px 8px rgba(239,68,68,.2)}.editor-pane[data-v-efc44a16]{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e5e7eb;border-radius:16px;padding:8px;display:flex;flex-direction:column;min-height:0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s ease}.editor-pane[data-v-efc44a16]:hover{box-shadow:0 8px 15px -5px rgba(0,0,0,.15)}.doc-meta[data-v-efc44a16]{padding:2px 0 6px;flex-shrink:0;border-bottom:1px solid #e5e7eb;margin-bottom:6px;position:relative}.doc-title[data-v-efc44a16]{font-size:16px;font-weight:700;color:#1e293b;background:linear-gradient(135deg,#1e293b,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.doc-updated[data-v-efc44a16]{color:#64748b;font-size:12px;margin-top:4px;font-weight:500}.collab-bar[data-v-efc44a16]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;padding:4px 8px;background:#f1f5f9;border-radius:8px;border:1px dashed #cbd5e1}.collab-label[data-v-efc44a16]{font-size:12px;color:#64748b;font-weight:500}.collab-users[data-v-efc44a16]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.collab-user[data-v-efc44a16]{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;font-size:11px;color:#475569}.collab-user.is-self[data-v-efc44a16]{border-color:#5eb6e4;background:linear-gradient(135deg,#eff6ff,#e0f2fe)}.collab-avatar[data-v-efc44a16]{width:18px;height:18px;border-radius:999px;overflow:hidden;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:11px;color:#4b5563;flex-shrink:0}.collab-avatar img[data-v-efc44a16]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.collab-name[data-v-efc44a16]{max-width:90px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-actions-top[data-v-efc44a16]{position:absolute;top:0;right:0;display:flex;align-items:center;gap:8px}.export-btn[data-v-efc44a16]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 6px rgba(0,68,204,.2)}.export-btn[data-v-efc44a16]:hover:not(:disabled){background:linear-gradient(135deg,#04c,#039);box-shadow:0 4px 12px rgba(0,68,204,.3);transform:translateY(-1px)}.export-btn[data-v-efc44a16]:active:not(:disabled){transform:translateY(0)}.export-btn[data-v-efc44a16]:disabled{opacity:.5;cursor:not-allowed;transform:none}.export-btn svg[data-v-efc44a16]{flex-shrink:0}.markdown-viewer[data-v-efc44a16]{flex:1;min-height:400px;border:1px solid #e5e7eb;border-radius:8px;padding:16px;font-size:14px;line-height:1.6;color:#374151;background-color:#fff;overflow-y:auto}.markdown-viewer[data-v-efc44a16] h1{font-size:28px;font-weight:700;margin:24px 0 16px;color:#1e293b;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.markdown-viewer[data-v-efc44a16] h2{font-size:24px;font-weight:700;margin:20px 0 12px;color:#1e293b}.markdown-viewer[data-v-efc44a16] h3{font-size:20px;font-weight:600;margin:16px 0 10px;color:#374151}.markdown-viewer[data-v-efc44a16] h4{font-size:18px;font-weight:600;margin:14px 0 8px;color:#4b5563}.markdown-viewer[data-v-efc44a16] h5{font-size:16px;font-weight:600;margin:12px 0 6px;color:#6b7280}.markdown-viewer[data-v-efc44a16] h6{font-size:14px;font-weight:600;margin:10px 0 4px;color:#9ca3af}.markdown-viewer[data-v-efc44a16] p{margin:8px 0;line-height:1.8}.markdown-viewer[data-v-efc44a16] strong{font-weight:700;color:#1e293b}.markdown-viewer[data-v-efc44a16] em{font-style:italic}.markdown-viewer[data-v-efc44a16] del{text-decoration:line-through;color:#9ca3af}.markdown-viewer[data-v-efc44a16] ol,.markdown-viewer[data-v-efc44a16] ul{margin:12px 0;padding-left:24px}.markdown-viewer[data-v-efc44a16] li{margin:6px 0;line-height:1.6}.markdown-viewer[data-v-efc44a16] ul li{list-style-type:disc}.markdown-viewer[data-v-efc44a16] ol li{list-style-type:decimal}.markdown-viewer[data-v-efc44a16] a{color:#5eb6e4;text-decoration:none;border-bottom:1px solid #5eb6e4;transition:all .2s}.markdown-viewer[data-v-efc44a16] a:hover{color:#04c;border-bottom-color:#04c}.markdown-viewer[data-v-efc44a16] img{max-width:100%;height:auto;border-radius:8px;margin:16px 0;box-shadow:0 2px 8px rgba(0,0,0,.1)}.markdown-viewer[data-v-efc44a16] .markdown-code-block{background-color:#f8f9fa;border:1px solid #e5e7eb;border-radius:6px;padding:16px;margin:16px 0;overflow-x:auto;font-family:Courier New,Consolas,monospace;font-size:13px;line-height:1.5}.markdown-viewer[data-v-efc44a16] .markdown-code-block code{background:transparent;padding:0;font-size:inherit}.markdown-viewer[data-v-efc44a16] .markdown-inline-code{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;padding:2px 6px;font-family:Courier New,Consolas,monospace;font-size:.9em;color:#ef4444}.markdown-viewer[data-v-efc44a16] .markdown-hr{border:none;border-top:2px solid #e5e7eb;margin:24px 0}.markdown-viewer[data-v-efc44a16] blockquote{border-left:4px solid #5eb6e4;padding-left:16px;margin:16px 0;color:#6b7280;font-style:italic}.editor[data-v-efc44a16]{flex:1;border:1px solid #e5e7eb;border-radius:8px;padding:8px;font-size:13px;resize:none;min-height:0;transition:all .2s ease;background-color:#fff;color:#111827;font-family:Courier New,Consolas,monospace}.editor-footer[data-v-efc44a16]{display:flex;align-items:center;gap:8px;margin-top:6px;flex-shrink:0;padding-top:6px}.flex-spacer[data-v-efc44a16]{flex:1}.btn[data-v-efc44a16]{height:36px;padding:0 18px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:all .3s ease}.btn[data-v-efc44a16]:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.btn.primary[data-v-efc44a16]{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(0,68,204,.3)}.btn.primary[data-v-efc44a16]:hover{background:linear-gradient(135deg,#04c,#039);box-shadow:0 8px 20px rgba(0,68,204,.4)}.btn.secondary[data-v-efc44a16]{background:linear-gradient(135deg,#f8f9fa,#f1f5f9);color:#1e293b;border-color:#e5e7eb}.btn.secondary[data-v-efc44a16]:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.btn.danger[data-v-efc44a16]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(239,68,68,.3)}.btn.danger[data-v-efc44a16]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 20px rgba(239,68,68,.4)}.btn.danger[data-v-efc44a16]:disabled{opacity:.5;cursor:not-allowed}.btn.small[data-v-efc44a16]{height:32px;padding:0 16px;font-size:12px}.upload-dialog-overlay[data-v-efc44a16]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.upload-dialog[data-v-efc44a16]{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.dialog-header[data-v-efc44a16]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.dialog-header h3[data-v-efc44a16]{margin:0;font-size:18px;font-weight:600;color:#333}.close-btn[data-v-efc44a16]{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-efc44a16]:hover{color:#666}.dialog-content[data-v-efc44a16]{padding:24px}.form-group[data-v-efc44a16]{margin-bottom:16px}.form-group label[data-v-efc44a16]{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input[data-v-efc44a16],.form-group select[data-v-efc44a16],.form-group textarea[data-v-efc44a16]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.form-group textarea[data-v-efc44a16]{height:120px;resize:vertical}.dialog-actions[data-v-efc44a16]{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn[data-v-efc44a16]:disabled{opacity:.5;cursor:not-allowed;transform:none}.delete-dialog[data-v-efc44a16],.restore-confirm-dialog[data-v-efc44a16]{max-width:450px}.restore-warning[data-v-efc44a16]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0}.restore-warning .warning-icon[data-v-efc44a16]{color:#f59e0b;margin-bottom:16px}.restore-message[data-v-efc44a16]{font-size:16px;color:#333;margin:0 0 12px 0;line-height:1.5}.restore-message strong[data-v-efc44a16]{color:#5b6bff;font-weight:600}.restore-tip[data-v-efc44a16]{font-size:14px;color:#666;margin:0;line-height:1.5}.delete-warning[data-v-efc44a16]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0}.warning-icon[data-v-efc44a16]{color:#f59e0b;margin-bottom:16px;animation:pulse-efc44a16 2s infinite}@keyframes pulse-efc44a16{0%,to{opacity:1}50%{opacity:.5}}.delete-message[data-v-efc44a16]{font-size:16px;color:#374151;margin-bottom:12px;line-height:1.5}.delete-message strong[data-v-efc44a16]{color:#1e293b;font-weight:700}.delete-tip[data-v-efc44a16]{font-size:13px;color:#ef4444;margin:0;padding:12px 20px;background:#fef2f2;border-radius:8px;border:1px solid #fee2e2;max-width:90%}.dialog-footer[data-v-efc44a16]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}@media (max-width:900px){.cabinet-layout[data-v-efc44a16]{grid-template-columns:1fr}}.version-history-dialog[data-v-efc44a16]{max-width:850px;max-height:85vh;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04)}.version-history-dialog .dialog-header[data-v-efc44a16]{background:#fff;color:#1e293b;border-bottom:2px solid #f1f5f9;padding:24px 28px}.version-history-dialog .dialog-header h3[data-v-efc44a16]{color:#1e293b;font-size:20px;font-weight:700;margin:0;display:flex;align-items:center;gap:10px}.version-history-dialog .dialog-header h3[data-v-efc44a16]:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:2px}.version-history-dialog .close-btn[data-v-efc44a16]{color:#64748b;opacity:.8}.version-history-dialog .close-btn[data-v-efc44a16]:hover{opacity:1;background:#f1f5f9;border-radius:50%;color:#1e293b}.version-history-dialog .dialog-content[data-v-efc44a16]{padding:28px;background:#fff}.archive-slots[data-v-efc44a16]{display:flex;flex-direction:column;gap:20px;margin-bottom:0}.archive-slot[data-v-efc44a16]{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05);position:relative}.archive-slot[data-v-efc44a16]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);opacity:0;transition:opacity .3s ease}.archive-slot[data-v-efc44a16]:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}.archive-slot[data-v-efc44a16]:hover:before{opacity:1}.slot-header[data-v-efc44a16]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:relative}.slot-number[data-v-efc44a16]{font-size:14px;font-weight:600;color:#475569;display:flex;align-items:center;gap:8px}.btn-small.danger[data-v-efc44a16]{background:#fff;color:#dc2626;border:1px solid #fecaca;box-shadow:none;transition:all .2s ease}.btn-small.danger[data-v-efc44a16]:hover{background:#fef2f2;color:#b91c1c;border-color:#fca5a5;transform:none}.slot-content[data-v-efc44a16]{padding:20px}.slot-content.filled[data-v-efc44a16]{display:flex;justify-content:space-between;align-items:center;background:#fff;gap:20px}.slot-content.empty[data-v-efc44a16]{display:flex;flex-direction:column;align-items:center;gap:16px;background:#f8fafc;padding:32px 24px;border-radius:8px;border:1px dashed #cbd5e1}.slot-content.empty[data-v-efc44a16]:hover{border-color:#94a3b8;background:#f1f5f9}.empty-slot-message[data-v-efc44a16]{color:#94a3b8;font-size:14px;font-weight:500}.slot-info[data-v-efc44a16]{flex:1;min-width:0}.slot-title[data-v-efc44a16]{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:10px;word-break:break-word}.slot-meta[data-v-efc44a16]{display:flex;gap:16px;font-size:13px;color:#64748b;margin-bottom:8px;flex-wrap:wrap}.slot-meta span[data-v-efc44a16]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#f1f5f9;border-radius:6px;font-weight:500}.slot-desc[data-v-efc44a16]{font-size:13px;color:#64748b;font-style:italic;margin-top:8px;padding:8px 12px;background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:4px}.slot-actions[data-v-efc44a16]{display:flex;gap:10px;flex-shrink:0}.divider[data-v-efc44a16]{height:2px;background:linear-gradient(90deg,transparent,#e5e7eb 20%,#e5e7eb 80%,transparent);margin:24px 0}.version-history-section[data-v-efc44a16]{margin-top:24px}.section-title[data-v-efc44a16]{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.loading-indicator[data-v-efc44a16]{text-align:center;padding:40px;color:#6b7280;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-spinner[data-v-efc44a16]{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#5eb6e4;border-radius:50%;animation:spin-efc44a16 1s linear infinite}@keyframes spin-efc44a16{to{transform:rotate(1turn)}}.empty-state[data-v-efc44a16]{text-align:center;padding:40px;color:#9ca3af}.version-list[data-v-efc44a16]{max-height:500px;overflow-y:auto}.version-item[data-v-efc44a16]{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;transition:all .2s ease}.version-item[data-v-efc44a16]:hover{background:#f9fafb;border-color:#5eb6e4;transform:translateX(4px)}.version-info[data-v-efc44a16]{flex:1}.version-number[data-v-efc44a16]{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:8px}.version-meta[data-v-efc44a16]{display:flex;gap:16px;font-size:13px;color:#6b7280;margin-bottom:6px}.version-author[data-v-efc44a16]{font-weight:500}.version-time[data-v-efc44a16]{color:#9ca3af}.version-desc[data-v-efc44a16]{font-size:13px;color:#4b5563;font-style:italic;margin-top:6px}.document-actions[data-v-efc44a16]{display:flex!important;gap:8px;align-items:center;padding:12px 16px;margin-top:16px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 10px 10px;visibility:visible!important;opacity:1!important}.action-btn[data-v-efc44a16]{padding:8px 16px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.05)}.action-btn[data-v-efc44a16]:hover:not(:disabled){background:#f1f5f9;color:#334155;border-color:#cbd5e1;box-shadow:0 2px 4px rgba(0,0,0,.1)}.action-btn.primary[data-v-efc44a16]{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-color:transparent;box-shadow:0 2px 6px rgba(0,68,204,.2)}.action-btn.primary[data-v-efc44a16]:hover:not(:disabled){background:linear-gradient(135deg,#04c,#039);box-shadow:0 4px 12px rgba(0,68,204,.3)}.action-btn[data-v-efc44a16]:disabled{opacity:.5;cursor:not-allowed}.btn-small[data-v-efc44a16]{height:34px;padding:0 16px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;color:#475569;box-shadow:none}.btn-small[data-v-efc44a16]:hover{background:#f8fafc;color:#1e293b;border-color:#cbd5e1;transform:none}.btn-small.primary[data-v-efc44a16]{background:#1e293b;color:#fff;border-color:#1e293b;box-shadow:none}.btn-small.primary[data-v-efc44a16]:hover{background:#334155;border-color:#334155;transform:none}.version-compare-dialog[data-v-efc44a16]{max-width:1400px;width:95vw;max-height:90vh;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05);background:linear-gradient(135deg,#fff,#f8fafc)}.compare-slots[data-v-efc44a16]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px;flex-shrink:0;padding:4px}.compare-slot-item[data-v-efc44a16]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:2px solid #e5e7eb;border-radius:16px;background:linear-gradient(135deg,#fff,#fafbfc);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.compare-slot-item[data-v-efc44a16]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#5eb6e4,#04c);transform:scaleX(0);transition:transform .3s ease}.compare-slot-item[data-v-efc44a16]:hover{border-color:#5eb6e4;box-shadow:0 8px 24px rgba(94,182,228,.2),0 2px 8px rgba(94,182,228,.1);transform:translateY(-3px);background:linear-gradient(135deg,#fff,#f0f9ff)}.compare-slot-item[data-v-efc44a16]:hover:before{transform:scaleX(1)}.compare-slot-item.selected[data-v-efc44a16]{border-color:#5eb6e4;background:linear-gradient(135deg,#e0f2fe,#f0f9ff);box-shadow:0 8px 24px rgba(94,182,228,.3),0 2px 8px rgba(94,182,228,.15);transform:translateY(-2px)}.compare-slot-item.selected[data-v-efc44a16]:before{transform:scaleX(1)}.compare-slot-info[data-v-efc44a16]{flex:1;display:flex;align-items:center;gap:12px}.slot-badge[data-v-efc44a16]{padding:8px 14px;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-radius:10px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(94,182,228,.3);letter-spacing:.5px}.slot-details[data-v-efc44a16]{flex:1}.slot-name[data-v-efc44a16]{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px}.slot-time[data-v-efc44a16]{font-size:12px;color:#6b7280}.check-icon[data-v-efc44a16]{font-size:28px;color:#5eb6e4;font-weight:700;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(94,182,228,.1),rgba(0,68,204,.1));border-radius:50%;animation:checkPulse-efc44a16 .3s ease}@keyframes checkPulse-efc44a16{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.empty-compare-hint[data-v-efc44a16]{grid-column:1/-1;text-align:center;padding:40px;color:#9ca3af;font-size:14px}.hint-message[data-v-efc44a16]{grid-column:1/-1;text-align:center;padding:16px;background:#fef3c7;color:#92400e;border-radius:8px;font-size:14px}.compare-actions[data-v-efc44a16]{display:flex;justify-content:center;padding:16px 0;border-bottom:2px solid #e5e7eb;margin-bottom:20px}.version-diff[data-v-efc44a16]{margin-top:20px}.version-diff h4[data-v-efc44a16]{margin:0 0 12px 0;font-size:16px;font-weight:600;color:#1e293b}.diff-legend[data-v-efc44a16]{display:flex;gap:20px;margin-bottom:12px;padding:8px 12px;background:#f9fafb;border-radius:6px;font-size:13px;font-family:Consolas,Monaco,Courier New,monospace}.diff-legend .added[data-v-efc44a16]{color:#16a34a}.diff-legend .removed[data-v-efc44a16]{color:#dc2626}.diff-legend .unchanged[data-v-efc44a16]{color:#6b7280}.diff-content[data-v-efc44a16]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;font-size:13px;line-height:1.6;color:#374151;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word;font-family:Consolas,Monaco,Courier New,monospace}.version-compare-dialog .dialog-content[data-v-efc44a16]{padding:24px;background:transparent;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.version-compare-viewer[data-v-efc44a16]{display:flex;gap:2px;flex:1;min-height:0;border:2px solid #e2e8f0;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);box-shadow:inset 0 2px 8px rgba(0,0,0,.05)}.compare-panel-left[data-v-efc44a16],.compare-panel-right[data-v-efc44a16]{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}.compare-panel-left[data-v-efc44a16]{margin-right:1px}.compare-panel-right[data-v-efc44a16]{margin-left:1px}.compare-panel-header[data-v-efc44a16]{padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;flex-shrink:0;display:flex;align-items:center;gap:10px;position:relative}.compare-panel-header[data-v-efc44a16]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#5eb6e4 50%,transparent);opacity:.3}.panel-title[data-v-efc44a16]{font-size:15px;font-weight:700;color:#1e293b;letter-spacing:.3px;display:flex;align-items:center;gap:8px}.panel-title[data-v-efc44a16]:before{content:"";width:4px;height:18px;background:linear-gradient(135deg,#5eb6e4,#04c);border-radius:2px}.compare-panel-content[data-v-efc44a16]{flex:1;overflow-y:auto;min-height:0;padding:20px 24px;background:#fff}.compare-panel-content[data-v-efc44a16]::-webkit-scrollbar{width:10px}.compare-panel-content[data-v-efc44a16]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:5px}.compare-panel-content[data-v-efc44a16]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:5px;border:2px solid #f1f5f9}.compare-panel-content[data-v-efc44a16]::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}.compare-panel-content .markdown-viewer[data-v-efc44a16]{height:100%;overflow-y:auto}.diff-viewer[data-v-efc44a16]{line-height:1.8;background:#fff;border-radius:8px}.diff-line[data-v-efc44a16],.diff-viewer[data-v-efc44a16]{font-family:Consolas,Monaco,Courier New,monospace;font-size:13px}.diff-line[data-v-efc44a16]{padding:6px 16px;margin:2px 0;white-space:pre-wrap;word-break:break-word;display:block;min-height:24px;border-left:4px solid transparent;line-height:1.9;background-color:#fff;transition:all .2s ease;border-radius:4px;position:relative}.diff-line[data-v-efc44a16]:hover{box-shadow:0 1px 3px rgba(0,0,0,.05)}.diff-line.diff-added[data-v-efc44a16]{background:linear-gradient(90deg,#d1fae5,#ecfdf5)!important;border-left-color:#10b981!important;border-left-width:4px!important;box-shadow:0 1px 2px rgba(16,185,129,.1)}.diff-line.diff-added[data-v-efc44a16]:before{content:"+";position:absolute;left:4px;top:50%;transform:translateY(-50%);color:#10b981;font-weight:700;font-size:16px;opacity:.7;width:14px;text-align:center;line-height:1}.diff-line.diff-added[data-v-efc44a16]:empty,.diff-line.diff-added[data-v-efc44a16]:empty:before{content:"\00A0";display:inline-block}.diff-line.diff-removed[data-v-efc44a16]{background:linear-gradient(90deg,#fee2e2,#fef2f2)!important;border-left-color:#ef4444!important;border-left-width:4px!important;box-shadow:0 1px 2px rgba(239,68,68,.1)}.diff-line.diff-removed[data-v-efc44a16]:before{content:"−";position:absolute;left:4px;top:50%;transform:translateY(-50%);color:#ef4444;font-weight:700;font-size:16px;opacity:.7;width:14px;text-align:center;line-height:1}.diff-line.diff-removed[data-v-efc44a16]:empty,.diff-line.diff-removed[data-v-efc44a16]:empty:before{content:"\00A0";display:inline-block}.diff-line.diff-unchanged[data-v-efc44a16]{background-color:#fff;border-left-color:transparent;color:#475569}.version-compare-viewer .compare-panel-content .diff-viewer .diff-line.diff-added[data-v-efc44a16],.version-compare-viewer .compare-panel-left .diff-viewer .diff-line.diff-added[data-v-efc44a16],.version-compare-viewer .compare-panel-right .diff-viewer .diff-line.diff-added[data-v-efc44a16]{background-color:#d1fae5!important;border-left-color:#10b981!important;border-left-width:5px!important}.version-compare-viewer .compare-panel-content .diff-viewer .diff-line.diff-removed[data-v-efc44a16],.version-compare-viewer .compare-panel-left .diff-viewer .diff-line.diff-removed[data-v-efc44a16],.version-compare-viewer .compare-panel-right .diff-viewer .diff-line.diff-removed[data-v-efc44a16]{background-color:#fee2e2!important;border-left-color:#ef4444!important;border-left-width:5px!important}.diff-viewer [data-type=added].diff-added[data-v-efc44a16]{background-color:#d1fae5!important;border-left-color:#10b981!important}.diff-viewer [data-type=removed].diff-removed[data-v-efc44a16]{background-color:#fee2e2!important;border-left-color:#ef4444!important}.save-slot-dialog[data-v-efc44a16]{max-width:550px}.slot-selector[data-v-efc44a16]{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.slot-option[data-v-efc44a16]{border:2px solid #e5e7eb;border-radius:10px;padding:14px;cursor:pointer;transition:all .3s ease;background:#fff}.slot-option[data-v-efc44a16]:hover{border-color:#5eb6e4;box-shadow:0 4px 12px rgba(94,182,228,.15);transform:translateY(-2px)}.slot-option.selected[data-v-efc44a16]{border-color:#5eb6e4;background:linear-gradient(135deg,#e0f2fe,#f0f9ff);box-shadow:0 4px 12px rgba(94,182,228,.25)}.slot-option.occupied[data-v-efc44a16]{background:#fef3c7}.slot-option.occupied.selected[data-v-efc44a16]{background:linear-gradient(135deg,#fef3c7,#fef9c3);border-color:#f59e0b}.slot-option-header[data-v-efc44a16]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.slot-option-number[data-v-efc44a16]{font-size:14px;font-weight:600;color:#1e293b}.slot-option-status[data-v-efc44a16]{color:#10b981;display:flex;align-items:center}.slot-option-content[data-v-efc44a16]{font-size:13px}.slot-option-content.empty[data-v-efc44a16]{color:#9ca3af;text-align:center;padding:8px 0}.empty-slot-hint[data-v-efc44a16]{font-style:italic}.slot-option-name[data-v-efc44a16]{font-weight:600;color:#374151;margin-bottom:4px}.slot-option-time[data-v-efc44a16]{color:#6b7280;font-size:12px;margin-bottom:6px}.overwrite-hint[data-v-efc44a16]{color:#f59e0b;font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px;margin-top:6px}.version-view-dialog[data-v-efc44a16]{max-width:950px;max-height:90vh;display:flex;flex-direction:column;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04)}.version-view-dialog .dialog-header[data-v-efc44a16]{background:#fff;color:#1e293b;border-bottom:2px solid #f1f5f9;padding:10px 18px;position:relative;flex-shrink:0}.version-view-dialog .dialog-header h3[data-v-efc44a16]{color:#1e293b;font-size:18px;font-weight:700;margin:0;display:flex;align-items:center;gap:8px}.version-view-dialog .dialog-header h3[data-v-efc44a16]:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:2px}.version-view-dialog .close-btn[data-v-efc44a16]{color:#64748b;opacity:.8}.version-view-dialog .close-btn[data-v-efc44a16]:hover{opacity:1;background:#f1f5f9;border-radius:50%;color:#1e293b}.version-view-dialog .dialog-content[data-v-efc44a16]{padding:8px 18px;background:#fff;flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;overflow:hidden}.version-info-header[data-v-efc44a16]{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:#f8fafc;border-radius:6px;margin-bottom:0;border:1px solid #e2e8f0;position:relative;flex-shrink:0}.version-info-header[data-v-efc44a16]:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:#6366f1;border-radius:8px 0 0 8px}.version-info-item[data-v-efc44a16]{display:flex;align-items:center;gap:8px;font-size:12px;padding:2px 0}.info-label[data-v-efc44a16]{font-weight:600;color:#64748b;min-width:70px;font-size:12px}.info-value[data-v-efc44a16]{color:#1e293b;font-weight:500;padding:4px 10px;background:#fff;border-radius:4px;flex:1;border:1px solid #e2e8f0}.version-content-viewer[data-v-efc44a16]{flex:1;min-height:0;overflow-y:auto;border-radius:8px;display:flex;flex-direction:column}.version-content-viewer .markdown-viewer[data-v-efc44a16]{border:1px solid #e2e8f0;border-radius:8px;padding:32px 40px;background:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.03);flex:1;min-height:100%}.version-view-dialog .dialog-footer[data-v-efc44a16]{padding:10px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 12px 12px;flex-shrink:0}.attachments-section[data-v-efc44a16]{margin-top:12px;padding:10px 14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;transition:all .3s ease}.attachments-section.collapsed[data-v-efc44a16]{padding:10px 14px}.attachments-section.collapsed .attachments-empty[data-v-efc44a16],.attachments-section.collapsed .attachments-header-actions[data-v-efc44a16],.attachments-section.collapsed .attachments-list[data-v-efc44a16],.attachments-section.collapsed .attachments-stats[data-v-efc44a16]{display:none}.attachments-section.collapsed .attachments-header[data-v-efc44a16]{margin-bottom:0}.attachments-header[data-v-efc44a16]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s ease}.attachments-header[data-v-efc44a16]:hover{opacity:.85}.attachments-title[data-v-efc44a16]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#334155}.attachments-title svg[data-v-efc44a16]{width:16px;height:16px;color:#3b82f6}.attachments-title .collapse-arrow[data-v-efc44a16]{width:14px;height:14px;color:#64748b;transition:transform .3s ease;margin-left:4px}.attachments-title .collapse-arrow.rotated[data-v-efc44a16]{transform:rotate(180deg)}.attachments-count[data-v-efc44a16]{font-weight:400;color:#64748b}.upload-attachment-btn[data-v-efc44a16]{display:flex;align-items:center;gap:4px;padding:5px 10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px rgba(59,130,246,.25)}.upload-attachment-btn svg[data-v-efc44a16]{width:14px;height:14px}.upload-attachment-btn[data-v-efc44a16]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.4)}.upload-attachment-btn[data-v-efc44a16]:disabled{opacity:.6;cursor:not-allowed}.attachments-list[data-v-efc44a16]{display:flex;flex-direction:column;gap:6px;max-height:120px;overflow-y:auto}.attachment-item[data-v-efc44a16]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s ease}.attachment-item[data-v-efc44a16]:hover{border-color:#3b82f6;box-shadow:0 2px 8px rgba(59,130,246,.1)}.attachment-icon[data-v-efc44a16]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.attachment-icon.icon-image[data-v-efc44a16]{background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff}.attachment-icon.icon-pdf[data-v-efc44a16]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.attachment-icon.icon-word[data-v-efc44a16]{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.attachment-icon.icon-excel[data-v-efc44a16]{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.attachment-icon.icon-ppt[data-v-efc44a16]{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.attachment-icon.icon-zip[data-v-efc44a16]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.attachment-icon.icon-file[data-v-efc44a16]{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.attachment-info[data-v-efc44a16]{flex:1;min-width:0}.attachment-name[data-v-efc44a16]{font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-meta[data-v-efc44a16]{display:flex;align-items:center;gap:12px;margin-top:2px}.attachment-date[data-v-efc44a16],.attachment-size[data-v-efc44a16]{font-size:12px;color:#64748b}.attachment-actions[data-v-efc44a16]{display:flex;gap:6px}.attachment-action-btn[data-v-efc44a16]{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.attachment-action-btn.copy-link[data-v-efc44a16]{background:#f0fdf4;color:#22c55e}.attachment-action-btn.copy-link[data-v-efc44a16]:hover{background:#22c55e;color:#fff}.attachment-action-btn.download[data-v-efc44a16]{background:#eff6ff;color:#3b82f6}.attachment-action-btn.download[data-v-efc44a16]:hover{background:#3b82f6;color:#fff}.attachment-action-btn.delete[data-v-efc44a16]{background:#fef2f2;color:#ef4444}.attachment-action-btn.delete[data-v-efc44a16]:hover{background:#ef4444;color:#fff}.attachments-empty[data-v-efc44a16]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#94a3b8;text-align:center}.attachments-empty svg[data-v-efc44a16]{width:32px;height:32px;opacity:.5}.attachments-empty p[data-v-efc44a16]{margin:0;font-size:13px;color:#94a3b8;font-weight:500}.attachments-empty span[data-v-efc44a16]{font-size:12px;color:#cbd5e1}.attachments-header-actions[data-v-efc44a16]{display:flex;align-items:center;gap:8px}.attachment-filter[data-v-efc44a16]{display:flex;align-items:center;gap:2px;background:#f1f5f9;border-radius:6px;padding:2px}.filter-btn[data-v-efc44a16]{display:flex;align-items:center;justify-content:center;padding:4px 8px;border:none;background:transparent;color:#64748b;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;min-width:28px;height:24px}.filter-btn svg[data-v-efc44a16]{width:12px;height:12px}.filter-btn[data-v-efc44a16]:hover{background:#e2e8f0;color:#334155}.filter-btn.active[data-v-efc44a16]{background:#fff;color:#3b82f6;box-shadow:0 1px 3px rgba(0,0,0,.1)}.attachments-stats[data-v-efc44a16]{display:flex;align-items:center;gap:12px;padding:6px 10px;background:#f8fafc;border-radius:6px;margin-bottom:8px}.stat-item[data-v-efc44a16]{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b}.stat-item svg[data-v-efc44a16]{width:12px;height:12px;opacity:.7}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-view{display:flex;flex-direction:column;height:100%;padding:0 20px 20px;animation:fadeInUp .6s ease-out}.ai-view .page-header{margin-bottom:8px;margin-top:0;padding-top:0;animation:fadeInDown .6s ease-out}.ai-view .header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:16px}.ai-view .page-title{position:relative;padding-bottom:12px;margin:0;display:inline-block;line-height:1;flex:1}.ai-view .title-text{font-size:32px;font-weight:800;background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.ai-view .title-decoration{position:absolute;bottom:-4px;left:0;width:100%;height:3px;background:linear-gradient(90deg,#5eb6e4,#a7c6ed 50%,transparent);border-radius:2px}.ai-view .page-subtitle{font-size:13px;color:#64748b;line-height:1.6;margin:0;display:flex;align-items:flex-start;gap:6px;padding:10px 12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-left:3px solid #5eb6e4;border-radius:6px}.ai-view .subtitle-icon{flex-shrink:0;color:#5eb6e4;margin-top:1px;width:16px;height:16px}.ai-view .header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.ai-view .header-actions .new-chat-btn,.ai-view .header-actions .view-history-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;border:2px solid #e5e7eb;background:#fff;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.06)}.ai-view .header-actions .new-chat-btn:hover,.ai-view .header-actions .view-history-btn:hover{border-color:#5eb6e4;background:linear-gradient(135deg,#f0f7ff,#e8f4ff);color:#04c;transform:translateY(-2px);box-shadow:0 4px 12px rgba(94,182,228,.2)}.ai-view .header-actions .new-chat-btn:active,.ai-view .header-actions .view-history-btn:active{transform:translateY(0)}.ai-view .header-actions .new-chat-btn{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-color:transparent}.ai-view .header-actions .new-chat-btn:hover{background:linear-gradient(135deg,#04c,#039);color:#fff;box-shadow:0 4px 12px rgba(0,68,204,.3)}.ai-view .section-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.ai-view .section-title{font-size:16px;font-weight:700;color:#1e293b}.ai-view .section-subtitle{color:#6b7280;font-size:12px;margin-top:6px}.ai-view .chat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e5e7eb;border-radius:16px;padding:24px;display:flex;flex-direction:column;flex:1;min-height:0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s ease}.ai-view .chat-card:hover{box-shadow:0 8px 15px -5px rgba(0,0,0,.15)}.ai-view .chat-window{flex:1;padding:16px;display:flex;flex-direction:column;gap:16px;overflow:auto;min-height:0;background:#fff;border-radius:12px;scroll-behavior:smooth;will-change:scroll-position}.ai-view .bubble{max-width:75%;padding:14px 18px;border-radius:16px;font-size:14px;line-height:1.7;box-shadow:0 2px 4px rgba(0,0,0,.08);animation:slideIn .3s ease-out}.ai-view .bubble.left{align-self:flex-start;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#334155;border-bottom-left-radius:4px}.ai-message-content{line-height:1.7;color:#334155;word-wrap:break-word;word-break:break-word;width:100%}.ai-message-content h1{font-size:1.75rem;font-weight:700;color:#0f172a;margin:1.25rem 0 .75rem 0;padding-bottom:.5rem;border-bottom:2px solid #cbd5e1;line-height:1.3}.ai-message-content h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin:1rem 0 .625rem 0;padding-bottom:.375rem;border-bottom:1px solid #cbd5e1;line-height:1.35}.ai-message-content h3{font-size:1.25rem;font-weight:600;color:#334155;margin:.875rem 0 .5rem 0;line-height:1.4}.ai-message-content h4{font-size:1.125rem;font-weight:600;color:#475569;margin:.75rem 0 .5rem 0;line-height:1.45}.ai-message-content h5,.ai-message-content h6{font-size:1rem;font-weight:600;color:#64748b;margin:.625rem 0 .375rem 0;line-height:1.5}.ai-message-content p{margin:.75rem 0;line-height:1.7}.ai-message-content ol,.ai-message-content ul{margin:.75rem 0;padding-left:1.5rem}.ai-message-content ul{list-style-type:disc}.ai-message-content ol{list-style-type:decimal}.ai-message-content li{margin:.25rem 0;line-height:1.6}.ai-message-content ol ul,.ai-message-content ul ul{list-style-type:circle;margin:.125rem 0}.ai-message-content ol ul ul,.ai-message-content ul ul ul{list-style-type:square}.ai-message-content pre{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:.875rem;margin:.875rem 0;overflow-x:auto;line-height:1.6;box-shadow:0 2px 8px rgba(0,0,0,.1)}.ai-message-content code,.ai-message-content pre{font-family:Consolas,Monaco,Courier New,monospace;font-size:.8125rem}.ai-message-content code{background:#f1f5f9;padding:.125rem .375rem;border-radius:4px;color:#dc2626;font-weight:500}.ai-message-content pre code{background:transparent;padding:0;color:#e2e8f0;font-size:.8125rem;font-weight:400}.ai-message-content blockquote{margin:.875rem 0;padding:.625rem .875rem;border-left:4px solid #3b82f6;background:#f0f9ff;border-radius:0 8px 8px 0;color:#475569;font-style:italic}.ai-message-content blockquote p{margin:.375rem 0}.ai-message-content table{width:100%;border-collapse:collapse;margin:.875rem 0;font-size:.875rem;box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.ai-message-content table thead{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.ai-message-content table th{padding:.625rem .875rem;text-align:left;font-weight:600;border-bottom:2px solid #1e40af}.ai-message-content table td{padding:.625rem .875rem;border-bottom:1px solid #e2e8f0}.ai-message-content table tbody tr{background:#fff;transition:background-color .2s}.ai-message-content table tbody tr:hover,.ai-message-content table tbody tr:nth-child(2n){background:#f8fafc}.ai-message-content table tbody tr:nth-child(2n):hover{background:#f1f5f9}.ai-message-content hr{margin:1.25rem 0;border:none;border-top:2px solid #e2e8f0;opacity:.6}.ai-message-content img{max-width:100%;height:auto;border-radius:8px;margin:.875rem 0;box-shadow:0 2px 8px rgba(0,0,0,.1)}.ai-message-content strong{font-weight:600;color:#0f172a}.ai-message-content em{font-style:italic;color:#475569}.ai-message-content a{color:#3b82f6;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s;font-weight:500}.ai-message-content a:hover{border-bottom-color:#3b82f6;color:#2563eb}.ai-message-content del{text-decoration:line-through;color:#94a3b8}.ai-message-content input[type=checkbox]{margin-right:.5rem;cursor:pointer}.ai-view .bubble.right{align-self:flex-end;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 12px rgba(0,68,204,.3);display:flex;flex-direction:column;gap:12px}.copy-msg-btn-kb{margin-top:4px;padding:4px 8px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#94a3b8;transition:all .2s ease;display:flex;align-items:center;justify-content:flex-start;gap:4px;font-size:12px;opacity:.6;align-self:flex-start}.bubble.right~.copy-msg-btn-kb{align-self:flex-end}.copy-msg-btn-kb:hover{opacity:1;color:#3b82f6;background:#f1f5f9}.copy-msg-btn-kb:active{transform:scale(.95)}.copy-msg-btn-kb svg{flex-shrink:0}.ai-view .bubble.right.file-only{background:#f5f5f5;color:#333;box-shadow:0 2px 8px rgba(0,0,0,.1)}.ai-view .message-files{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.ai-view .message-file-item{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 16px;transition:all .3s ease}.ai-view .bubble.right:not(.file-only) .message-file-item{background:hsla(0,0%,100%,.15);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.ai-view .bubble.right:not(.file-only) .message-file-item:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.3)}.ai-view .bubble.right.file-only .message-file-item{background:#fff;border:1px solid #e5e7eb}.ai-view .bubble.right.file-only .message-file-item:hover{background:#f9fafb;border-color:#d1d5db}.ai-view .message-file-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px}.ai-view .bubble.right:not(.file-only) .message-file-icon{background:hsla(0,0%,100%,.2);color:#fff}.ai-view .bubble.right.file-only .message-file-icon{background:#e3f2fd;color:#1976d2}.ai-view .message-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ai-view .message-file-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-view .bubble.right:not(.file-only) .message-file-name{color:#fff}.ai-view .bubble.right.file-only .message-file-name{color:#333}.ai-view .message-file-meta{display:flex;gap:12px;font-size:12px}.ai-view .bubble.right:not(.file-only) .message-file-meta{color:hsla(0,0%,100%,.9)}.ai-view .bubble.right.file-only .message-file-meta{color:#6b7280}.ai-view .message-file-type{font-weight:500}.ai-view .message-file-size{color:inherit}.ai-view .message-copy-btn{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:12px;align-self:flex-start}.ai-view .bubble.right:not(.file-only) .message-copy-btn{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);color:hsla(0,0%,100%,.9)}.ai-view .bubble.right:not(.file-only) .message-copy-btn:hover{background:hsla(0,0%,100%,.3);border-color:hsla(0,0%,100%,.4);color:#fff}.ai-view .bubble.right.file-only .message-copy-btn{background:#fff;border:1px solid #e5e7eb;color:#6b7280}.ai-view .bubble.right.file-only .message-copy-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.ai-view .message-copy-btn svg{flex-shrink:0}.ai-view .composer{display:flex;flex-direction:column;gap:12px;padding-top:16px;flex-shrink:0;border-top:2px solid #e5e7eb;margin-top:0}.ai-view .composer-input-wrapper{display:flex;gap:12px;align-items:center}.ai-view .composer-input{flex:1;height:56px;border:2px solid #e5e7eb;border-radius:12px;padding:0 18px;font-size:14px;transition:all .3s ease;background:#fff;line-height:1.5}.ai-view .file-preview-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 16px;transition:all .3s ease}.ai-view .file-preview-card:hover{border-color:#5eb6e4;box-shadow:0 2px 8px rgba(94,182,228,.15)}.ai-view .file-preview-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5eb6e4,#04c);border-radius:8px;color:#fff}.ai-view .file-preview-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ai-view .file-preview-name{font-size:14px;font-weight:500;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-view .file-preview-meta{display:flex;gap:12px;font-size:12px;color:#64748b}.ai-view .file-preview-type{font-weight:500}.ai-view .file-preview-size{color:#94a3b8}.ai-view .file-remove-btn{flex-shrink:0;width:28px;height:28px;border:none;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.ai-view .file-remove-btn:hover{background:#fee2e2;color:#dc2626}.ai-view .composer-input:focus{outline:none;border-color:#5eb6e4;box-shadow:0 0 0 3px rgba(94,182,228,.1)}.ai-view .composer-input:disabled{background:#f9fafb;cursor:not-allowed}.ai-view .send-btn{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,68,204,.3)}.ai-view .send-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,68,204,.4);background:linear-gradient(135deg,#04c,#039)}.ai-view .send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-view .send-btn.stop-btn{background:linear-gradient(135deg,#ff4d4f,#cf1322);box-shadow:0 4px 12px rgba(255,77,79,.4);cursor:pointer;opacity:1}.ai-view .send-btn.stop-btn:hover{background:linear-gradient(135deg,#ff7875,#ff4d4f);transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,77,79,.6)}.ai-view .send-btn.stop-btn svg{animation:pulse-kb 1.5s ease-in-out infinite}@keyframes pulse-kb{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.95)}}.ai-view .loading-spinner{width:18px;height:18px;border:2px solid #f3f3f3;border-top:2px solid #04c;border-radius:50%;animation:spin 1s linear infinite}.ai-view .ai-loading-indicator{display:flex;align-items:center;gap:12px;padding:16px 20px;color:#64748b;font-size:14px}.ai-view .ai-loading-indicator .loading-dots{display:flex;gap:6px;align-items:center}.ai-view .ai-loading-indicator .loading-dots span{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#5eb6e4,#04c);animation:loading-dot 1.4s ease-in-out infinite both}.ai-view .ai-loading-indicator .loading-dots span:first-child{animation-delay:-.32s}.ai-view .ai-loading-indicator .loading-dots span:nth-child(2){animation-delay:-.16s}.ai-view .ai-loading-indicator .loading-dots span:nth-child(3){animation-delay:0}.ai-view .ai-loading-indicator .loading-text{font-size:14px;color:#64748b;font-weight:500}.ai-view .file-menu-wrapper{position:relative;z-index:10}.ai-view .file-select-btn{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#f1f5f9);color:#64748b;border:2px solid #e5e7eb;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;z-index:1;pointer-events:auto}.ai-view .file-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.12);min-width:220px;padding:8px;z-index:1000;animation:slideDown .2s ease-out}.ai-view .file-dropdown-menu .dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#334155;font-size:14px;font-weight:500}.ai-view .file-dropdown-menu .dropdown-item:hover{background:linear-gradient(135deg,#f0f7ff,#e3f2ff);color:#04c}.ai-view .file-dropdown-menu .dropdown-item svg{flex-shrink:0;color:inherit}.ai-view .file-select-btn:hover{background:linear-gradient(135deg,#e3f2ff,#d4e9ff);border-color:#5eb6e4;color:#04c;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,68,204,.2)}.ai-view .file-select-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-view .file-dialog-overlay,.file-dialog-overlay.ai-view{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeInOverlay .25s cubic-bezier(.4,0,.2,1)}.ai-view .file-dialog,.file-dialog-overlay.ai-view .file-dialog{background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);max-width:600px;width:90%;max-height:88vh;display:flex;flex-direction:column;animation:slideUpDialog .35s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative;margin:auto;min-height:0}@keyframes slideUpDialog{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-view .file-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 32px 24px;background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid rgba(226,232,240,.8);flex-shrink:0;position:relative}.ai-view .file-dialog-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.3),transparent)}.ai-view .file-dialog-header .header-content{flex:1}.ai-view .file-dialog-header h3{margin:0 0 6px 0;font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.ai-view .file-dialog-header .header-subtitle{margin:0;font-size:14px;font-weight:500;color:#04c;display:flex;align-items:center;gap:6px}.ai-view .file-dialog-header .close-btn{width:36px;height:36px;border:none;background:rgba(241,245,249,.8);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;margin-left:16px}.ai-view .file-dialog-header .close-btn:hover{background:rgba(239,68,68,.1);color:#ef4444;transform:rotate(90deg) scale(1.05)}.ai-view .file-dialog-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;display:flex;flex-direction:column;background:#fff;min-height:0;max-height:100%}.ai-view .file-dialog-body::-webkit-scrollbar{width:6px}.ai-view .file-dialog-body::-webkit-scrollbar-track{background:transparent}.ai-view .file-dialog-body::-webkit-scrollbar-thumb{background:rgba(148,163,184,.4);border-radius:3px;-webkit-transition:background .2s;transition:background .2s}.ai-view .file-dialog-body::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.6)}.ai-view .file-dialog-body .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;gap:20px;min-height:400px}.ai-view .loading-spinner-large{width:48px;height:48px;border:4px solid #f1f5f9;border-top:4px solid #04c;border-radius:50%;animation:spin .8s linear infinite}.ai-view .loading-text{font-size:15px;font-weight:500;color:#64748b;margin:0}.ai-view .file-dialog-body .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;min-height:400px;gap:16px}.ai-view .empty-icon{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,#f0f7ff,#e0f2fe);display:flex;align-items:center;justify-content:center;color:#5eb6e4;margin-bottom:8px}.ai-view .empty-text{font-size:15px;font-weight:500;color:#94a3b8;margin:0}.ai-view .file-list-container{padding:8px 32px 32px 32px;width:100%;box-sizing:border-box;overflow:visible;flex-shrink:0}.ai-view .file-list{display:flex;flex-direction:column;gap:10px;width:100%;padding-top:4px;overflow:visible}.ai-view .file-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;width:100%;box-sizing:border-box;min-height:70px}.ai-view .file-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,68,204,.03),rgba(94,182,228,.03));opacity:0;transition:opacity .25s}.ai-view .file-card:hover{border-color:#5eb6e4;transform:translateY(-2px);box-shadow:0 8px 16px -4px rgba(0,68,204,.15),0 0 0 1px rgba(94,182,228,.2)}.ai-view .file-card:hover:before{opacity:1}.ai-view .file-card.selected{border-color:#04c;background:linear-gradient(135deg,#f0f7ff,#e3f2ff);box-shadow:0 4px 12px -2px rgba(0,68,204,.2),0 0 0 1px rgba(0,68,204,.15)}.ai-view .file-card.selected:before{opacity:1}.ai-view .file-card-content{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:16px;position:relative;z-index:1}.ai-view .file-card-main{flex:1;min-width:0;width:100%}.ai-view .file-name-wrapper{display:flex;flex-direction:column;gap:12px}.ai-view .file-name{font-size:17px;font-weight:600;color:#0f172a;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.ai-view .file-card.selected .file-name{color:#04c}.ai-view .file-badge-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-view .file-type-badge{padding:5px 12px;background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-radius:8px;font-size:12px;font-weight:600;color:#1e40af;white-space:nowrap;letter-spacing:.02em;border:1px solid rgba(30,64,175,.1)}.ai-view .file-card.selected .file-type-badge{background:linear-gradient(135deg,#bfdbfe,#93c5fd);color:#1e3a8a;border-color:rgba(30,64,175,.2)}.ai-view .file-count-badge{padding:4px 10px;background:#f1f5f9;border-radius:6px;font-size:11px;font-weight:600;color:#64748b;white-space:nowrap}.ai-view .file-select-indicator{width:28px;height:28px;border-radius:8px;border:2px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0}.ai-view .file-select-indicator.active{background:linear-gradient(135deg,#04c,#5eb6e4);border-color:#04c;transform:scale(1.1);box-shadow:0 4px 12px rgba(0,68,204,.3)}.ai-view .checkmark-circle{color:#fff;display:flex;align-items:center;justify-content:center}.ai-view .file-dialog-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:linear-gradient(135deg,#fafbfc,#f8fafc);border-top:1px solid rgba(226,232,240,.8);flex-shrink:0;position:relative}.ai-view .file-dialog-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.3),transparent)}.ai-view .btn-cancel,.ai-view .btn-confirm{padding:12px 28px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.ai-view .btn-cancel{background:#fff;color:#64748b;border:1.5px solid #e2e8f0}.ai-view .btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.08)}.ai-view .btn-confirm{background:linear-gradient(135deg,#04c,#5eb6e4);color:#fff;box-shadow:0 4px 12px rgba(0,68,204,.25);margin-left:auto}.ai-view .btn-confirm:hover:not(.disabled){background:linear-gradient(135deg,#039,#04c);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,68,204,.35)}.ai-view .btn-confirm.disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-view .selected-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:hsla(0,0%,100%,.25);border-radius:12px;font-size:13px;font-weight:700;margin-left:4px}.dark-mode .ai-view{background-color:#0f172a;color:#f1f5f9}.dark-mode .ai-view .page-subtitle{background:linear-gradient(135deg,#1e293b,#334155);color:#cbd5e1}.dark-mode .ai-view .section-card{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .ai-view .section-title{color:#f1f5f9}.dark-mode .ai-view .section-subtitle{color:#94a3b8}.dark-mode .ai-view .chat-card{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569}.dark-mode .ai-view .chat-window{background:#0f172a;border-color:#334155}.dark-mode .ai-view .bubble.left{background:linear-gradient(135deg,#334155,#475569);color:#f1f5f9}.dark-mode .ai-view .bubble.right{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff}.dark-mode .ai-message-content{color:#e2e8f0}.dark-mode .ai-message-content h1{color:#f1f5f9;border-bottom-color:#475569}.dark-mode .ai-message-content h2{color:#e2e8f0;border-bottom-color:#475569}.dark-mode .ai-message-content h3{color:#cbd5e1}.dark-mode .ai-message-content h4,.dark-mode .ai-message-content h5,.dark-mode .ai-message-content h6{color:#94a3b8}.dark-mode .ai-message-content pre{background:#0f172a;border-color:#334155}.dark-mode .ai-message-content code{background:#334155;color:#fbbf24}.dark-mode .ai-message-content pre code{background:transparent;color:#e2e8f0}.dark-mode .ai-message-content blockquote{background:#1e293b;border-left-color:#60a5fa;color:#cbd5e1}.dark-mode .ai-message-content table{box-shadow:0 1px 3px rgba(0,0,0,.3)}.dark-mode .ai-message-content table thead{background:linear-gradient(135deg,#1e40af,#1e3a8a)}.dark-mode .ai-message-content table th{border-bottom-color:#1e3a8a}.dark-mode .ai-message-content table td{border-bottom-color:#334155}.dark-mode .ai-message-content table tbody tr{background:#1e293b}.dark-mode .ai-message-content table tbody tr:hover{background:#334155}.dark-mode .ai-message-content table tbody tr:nth-child(2n){background:#0f172a}.dark-mode .ai-message-content table tbody tr:nth-child(2n):hover{background:#334155}.dark-mode .ai-message-content hr{border-top-color:#475569}.dark-mode .ai-message-content strong{color:#f8fafc}.dark-mode .ai-message-content em{color:#cbd5e1}.dark-mode .ai-message-content a{color:#60a5fa}.dark-mode .ai-message-content a:hover{border-bottom-color:#60a5fa;color:#93c5fd}.dark-mode .ai-message-content del{color:#64748b}.dark-mode .ai-message-content img{box-shadow:0 2px 8px rgba(0,0,0,.5)}.dark-mode .ai-view .composer{border-top-color:#475569}.dark-mode .ai-view .composer-input{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .ai-view .composer-input::-moz-placeholder{color:#64748b}.dark-mode .ai-view .composer-input::placeholder{color:#64748b}.dark-mode .ai-view .composer-input:focus{border-color:#5eb6e4;box-shadow:0 0 0 3px rgba(94,182,228,.2)}.dark-mode .ai-view .composer-input:disabled{background:#334155;color:#64748b}.dark-mode .ai-view .file-preview-section{background:#1e293b;border-color:#334155}.dark-mode .ai-view .file-preview-title{color:#cbd5e1}.dark-mode .ai-view .file-preview-card{background:#334155;border-color:#475569}.dark-mode .ai-view .file-preview-card:hover{border-color:#5eb6e4;box-shadow:0 2px 8px rgba(94,182,228,.25)}.dark-mode .ai-view .file-preview-name{color:#f1f5f9}.dark-mode .ai-view .file-preview-meta{color:#94a3b8}.dark-mode .ai-view .file-preview-type{color:#cbd5e1}.dark-mode .ai-view .file-preview-size,.dark-mode .ai-view .file-remove-btn{color:#64748b}.dark-mode .ai-view .file-remove-btn:hover{background:#7f1d1d;color:#fca5a5}.dark-mode .ai-view .file-select-btn{background:linear-gradient(135deg,#334155,#475569);border-color:#475569;color:#cbd5e1}.dark-mode .ai-view .file-select-btn:hover{background:linear-gradient(135deg,#475569,#334155);border-color:#5eb6e4;color:#5eb6e4}.dark-mode .ai-view .file-dropdown-menu{background:#1e293b;border-color:#475569;box-shadow:0 8px 20px rgba(0,0,0,.4)}.dark-mode .ai-view .file-dropdown-menu .dropdown-item{color:#f1f5f9}.dark-mode .ai-view .file-dropdown-menu .dropdown-item:hover{background:linear-gradient(135deg,#334155,#475569);color:#5eb6e4}.dark-mode .ai-view .chat-container{background:#1e293b;border-color:#475569}.dark-mode .ai-view .chat-input,.dark-mode .ai-view .chat-message{background:#334155;color:#f1f5f9}.dark-mode .ai-view .chat-input{border-color:#475569}.dark-mode .ai-view .file-dialog{background:#1e293b;border-color:#475569;box-shadow:0 25px 50px -12px rgba(0,0,0,.5),0 0 0 1px rgba(71,85,105,.3)}.dark-mode .ai-view .file-dialog-header{background:linear-gradient(135deg,#1e293b,#334155);border-bottom-color:#475569}.dark-mode .ai-view .file-dialog-header h3{color:#f1f5f9}.dark-mode .ai-view .file-dialog-header .header-subtitle{color:#5eb6e4}.dark-mode .ai-view .file-dialog-header .close-btn{background:rgba(51,65,85,.8);color:#cbd5e1}.dark-mode .ai-view .file-dialog-header .close-btn:hover{background:rgba(239,68,68,.2);color:#ef4444}.dark-mode .ai-view .file-dialog-body{background:#1e293b}.dark-mode .ai-view .file-dialog-body::-webkit-scrollbar-thumb{background:rgba(71,85,105,.6)}.dark-mode .ai-view .file-dialog-body::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.8)}.dark-mode .ai-view .loading-spinner-large{border-color:#334155;border-top-color:#5eb6e4}.dark-mode .ai-view .loading-text{color:#94a3b8}.dark-mode .ai-view .empty-icon{background:linear-gradient(135deg,#334155,#475569);color:#5eb6e4}.dark-mode .ai-view .empty-text{color:#94a3b8}.dark-mode .ai-view .file-card{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .ai-view .file-card:hover{background:#475569;border-color:#60a5fa}.dark-mode .ai-view .file-card.selected{background:linear-gradient(135deg,#334155,#475569);border-color:#5eb6e4}.dark-mode .ai-view .file-name{color:#f1f5f9}.dark-mode .ai-view .file-card.selected .file-name{color:#5eb6e4}.dark-mode .ai-view .file-type-badge{background:linear-gradient(135deg,#334155,#475569);color:#60a5fa;border-color:rgba(96,165,250,.3)}.dark-mode .ai-view .file-card.selected .file-type-badge{background:linear-gradient(135deg,#475569,#334155);color:#93c5fd;border-color:rgba(96,165,250,.4)}.dark-mode .ai-view .file-count-badge{background:#475569;color:#cbd5e1}.dark-mode .ai-view .file-select-indicator{background:#334155;border-color:#64748b}.dark-mode .ai-view .file-select-indicator.active{background:linear-gradient(135deg,#04c,#5eb6e4);border-color:#5eb6e4}.dark-mode .ai-view .file-dialog-footer{background:linear-gradient(135deg,#1e293b,#334155);border-top-color:#475569}.dark-mode .ai-view .btn-cancel{background:#334155;color:#cbd5e1;border-color:#475569}.dark-mode .ai-view .btn-cancel:hover{background:#475569;border-color:#64748b;color:#f1f5f9}.dark-mode .ai-view .file-meta{color:#94a3b8}.dark-mode .ai-view .btn{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .ai-view .btn:hover{background:#475569;border-color:#60a5fa;color:#60a5fa}@keyframes typewriter-appear{0%{opacity:0}to{opacity:1}}.cursor-blink{display:inline-block;font-weight:700;color:#06f;animation:cursor-blink .8s infinite;margin-left:2px}.dark-mode .cursor-blink{color:#60a5fa}.typewriter-text{display:inline;white-space:pre-wrap;word-wrap:break-word;animation:typewriter-appear .1s ease-out}.ai-view .chat-history-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(12px) saturate(180%);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes popIn{0%{opacity:0;transform:scale(.92) translateY(30px);filter:blur(10px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@keyframes glow{0%,to{box-shadow:0 32px 64px -12px rgba(0,68,204,.3),0 0 0 1px rgba(94,182,228,.2),0 0 60px rgba(94,182,228,.1)}50%{box-shadow:0 32px 64px -12px rgba(0,68,204,.4),0 0 0 1px rgba(94,182,228,.3),0 0 80px rgba(94,182,228,.15)}}@keyframes shimmer{0%{transform:translateX(-200%) translateY(-200%) rotate(45deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateX(200%) translateY(200%) rotate(45deg);opacity:0}}@keyframes shimmerSmooth{0%{transform:translateX(-200%) translateY(-200%) rotate(45deg)}to{transform:translateX(200%) translateY(200%) rotate(45deg)}}@keyframes shimmerGlow{0%{transform:translateX(-150%) translateY(-150%) rotate(45deg);opacity:0;filter:blur(20px) brightness(1)}50%{opacity:1;filter:blur(15px) brightness(1.5)}to{transform:translateX(150%) translateY(150%) rotate(45deg);opacity:0;filter:blur(20px) brightness(1)}}.ai-view .chat-history-sidebar{position:relative;width:560px;max-width:90vw;max-height:85vh;background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(248,250,252,.98) 50%,rgba(240,247,255,.95));border-radius:28px;border:1px solid rgba(94,182,228,.2);box-shadow:0 40px 80px -20px rgba(0,68,204,.35),0 0 0 1px rgba(94,182,228,.15),0 0 100px rgba(94,182,228,.12),inset 0 1px 0 hsla(0,0%,100%,.8);display:flex;flex-direction:column;overflow:hidden;animation:popIn .4s cubic-bezier(.34,1.56,.64,1),glow 3s ease-in-out infinite;margin:auto;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%)}.ai-view .chat-history-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;border-bottom:none;background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(240,247,255,.95) 50%,hsla(0,0%,100%,.9));backdrop-filter:blur(20px) saturate(180%);position:relative;overflow:hidden}.ai-view .chat-history-sidebar .sidebar-header:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(94,182,228,.4) 20%,rgba(0,68,204,.6) 50%,rgba(94,182,228,.4) 80%,transparent);box-shadow:0 -1px 8px rgba(94,182,228,.3)}.ai-view .chat-history-sidebar .sidebar-header:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,transparent 35%,rgba(94,182,228,.4) 45%,rgba(0,68,204,.8) 50%,rgba(94,182,228,.4) 55%,transparent 65%,transparent);background-size:300% 300%;animation:shimmerGlow 5s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none;will-change:transform,opacity}.ai-view .chat-history-sidebar .sidebar-header h3{font-size:24px;font-weight:900;margin:0;background:linear-gradient(135deg,#04c,#5eb6e4 50%,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.8px;position:relative;z-index:1;text-shadow:0 0 30px rgba(94,182,228,.3);filter:drop-shadow(0 2px 4px rgba(0,68,204,.2))}.ai-view .chat-history-sidebar .close-btn{width:44px;height:44px;border-radius:14px;border:2px solid rgba(226,232,240,.6);background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(248,250,252,.95));color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.9);position:relative;z-index:1;backdrop-filter:blur(10px)}.ai-view .chat-history-sidebar .close-btn:before{content:"";position:absolute;inset:-2px;border-radius:14px;background:linear-gradient(135deg,#ef4444,#dc2626);opacity:0;transition:opacity .3s ease;z-index:-1;filter:blur(8px)}.ai-view .chat-history-sidebar .close-btn:hover{border-color:rgba(239,68,68,.5);background:linear-gradient(135deg,#fee2e2,#fecaca);color:#ef4444;transform:rotate(90deg) scale(1.08);box-shadow:0 8px 24px rgba(239,68,68,.35),0 0 20px rgba(239,68,68,.2),inset 0 1px 0 hsla(0,0%,100%,.9)}.ai-view .chat-history-sidebar .close-btn:hover:before{opacity:.3}.ai-view .chat-history-sidebar .sidebar-body{flex:1;overflow-y:auto;padding:24px;max-height:calc(85vh - 200px);background:linear-gradient(180deg,hsla(0,0%,100%,.5),rgba(250,251,252,.7));backdrop-filter:blur(10px)}.ai-view .chat-history-sidebar .sidebar-body::-webkit-scrollbar{width:6px}.ai-view .chat-history-sidebar .sidebar-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.ai-view .chat-history-sidebar .sidebar-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.ai-view .chat-history-sidebar .sidebar-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ai-view .empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.ai-view .empty-history .empty-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#94a3b8;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.ai-view .empty-history .empty-text{color:#94a3b8;font-size:14px}.ai-view .session-list{display:flex;flex-direction:column;gap:12px}.ai-view .chat-session-item{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-radius:20px;border:2px solid rgba(226,232,240,.4);background:linear-gradient(135deg,hsla(0,0%,100%,.85),rgba(250,251,252,.9));cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.06),inset 0 0 0 1px hsla(0,0%,100%,.8),inset 0 1px 2px rgba(0,0,0,.02);backdrop-filter:blur(10px)}.ai-view .chat-session-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#5eb6e4,#04c 50%,#5eb6e4);opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);border-radius:0 20px 20px 0;box-shadow:0 0 20px rgba(94,182,228,.5),inset -2px 0 10px rgba(0,68,204,.3);filter:blur(1px)}.ai-view .chat-session-item:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,transparent 35%,rgba(94,182,228,.3) 45%,rgba(0,68,204,.6) 50%,rgba(94,182,228,.3) 55%,transparent 65%,transparent);background-size:300% 300%;opacity:0;transition:opacity .4s ease;pointer-events:none;animation:shimmerGlow 6s cubic-bezier(.4,0,.2,1) infinite;will-change:transform,opacity}.ai-view .chat-session-item:hover{border-color:rgba(94,182,228,.6);background:linear-gradient(135deg,rgba(240,247,255,.95),rgba(232,244,255,.98));transform:translateY(-4px) scale(1.01);box-shadow:0 12px 32px rgba(94,182,228,.25),0 0 40px rgba(94,182,228,.15),inset 0 0 0 1px rgba(94,182,228,.3),inset 0 2px 4px hsla(0,0%,100%,.9)}.ai-view .chat-session-item:hover:before{opacity:1;width:6px;filter:blur(0)}.ai-view .chat-session-item:hover:after{opacity:1}.ai-view .chat-session-item.active{border-color:rgba(0,68,204,.5);background:linear-gradient(135deg,rgba(232,244,255,.98),rgba(219,234,254,.95) 50%,rgba(232,244,255,.98));box-shadow:0 12px 32px rgba(0,68,204,.3),0 0 50px rgba(0,68,204,.2),inset 0 0 0 1px rgba(0,68,204,.2),inset 0 2px 4px hsla(0,0%,100%,.9),0 -2px 8px rgba(94,182,228,.15)}.ai-view .chat-session-item.active:before{opacity:1;width:6px;filter:blur(0);box-shadow:0 0 30px rgba(94,182,228,.8),inset -2px 0 15px rgba(0,68,204,.5)}.ai-view .chat-session-item.active:after{opacity:1}.ai-view .session-info{flex:1;min-width:0;padding-left:12px;position:relative;z-index:1}.ai-view .session-title{font-size:17px;font-weight:800;color:#0f172a;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.4px;line-height:1.5;text-shadow:0 1px 2px hsla(0,0%,100%,.8)}.ai-view .chat-session-item.active .session-title{background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 4px rgba(0,68,204,.2))}.ai-view .session-meta{display:flex;align-items:center;gap:14px;font-size:13px}.ai-view .session-count{padding:5px 12px;border-radius:10px;background:linear-gradient(135deg,rgba(241,245,249,.9),rgba(226,232,240,.95));color:#475569;font-weight:700;font-size:12px;border:1.5px solid rgba(226,232,240,.6);box-shadow:0 2px 6px rgba(0,0,0,.06),inset 0 1px 2px hsla(0,0%,100%,.9);backdrop-filter:blur(10px);letter-spacing:.2px}.ai-view .chat-session-item.active .session-count{background:linear-gradient(135deg,rgba(0,68,204,.15),rgba(94,182,228,.2));color:#04c;border-color:rgba(0,68,204,.3);box-shadow:0 2px 8px rgba(0,68,204,.2),0 0 12px rgba(94,182,228,.15),inset 0 1px 2px hsla(0,0%,100%,.6)}.ai-view .session-date{color:#94a3b8;font-weight:500}.ai-view .delete-session-btn{width:40px;height:40px;border-radius:12px;border:2px solid rgba(226,232,240,.4);background:linear-gradient(135deg,hsla(0,0%,100%,.85),rgba(250,251,252,.9));color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;opacity:.4;position:relative;z-index:1;box-shadow:0 2px 6px rgba(0,0,0,.06),inset 0 1px 2px hsla(0,0%,100%,.9);backdrop-filter:blur(10px)}.ai-view .delete-session-btn:before{content:"";position:absolute;inset:-3px;border-radius:12px;background:linear-gradient(135deg,#ef4444,#dc2626);opacity:0;transition:opacity .3s ease;z-index:-1;filter:blur(8px)}.ai-view .chat-session-item:hover .delete-session-btn{opacity:1}.ai-view .delete-session-btn:hover{border-color:rgba(239,68,68,.5);background:linear-gradient(135deg,#fee2e2,#fecaca);color:#ef4444;transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px rgba(239,68,68,.35),0 0 24px rgba(239,68,68,.2),inset 0 1px 2px hsla(0,0%,100%,.9)}.ai-view .delete-session-btn:hover:before{opacity:.4}.ai-view .chat-history-sidebar .sidebar-footer{padding:24px 32px;border-top:none;background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(240,247,255,.95) 50%,hsla(0,0%,100%,.9));backdrop-filter:blur(20px) saturate(180%);position:relative;overflow:hidden}.ai-view .chat-history-sidebar .sidebar-footer:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(94,182,228,.5) 20%,rgba(0,68,204,.7) 50%,rgba(94,182,228,.5) 80%,transparent);box-shadow:0 -1px 8px rgba(94,182,228,.4)}.ai-view .chat-history-sidebar .sidebar-footer:after{content:"";position:absolute;bottom:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,transparent 35%,rgba(94,182,228,.4) 45%,rgba(0,68,204,.8) 50%,rgba(94,182,228,.4) 55%,transparent 65%,transparent);background-size:300% 300%;animation:shimmerGlow 5s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none;will-change:transform,opacity}.ai-view .chat-history-sidebar .btn-primary{width:100%;padding:16px 28px;border-radius:16px;border:2px solid transparent;background:linear-gradient(135deg,#5eb6e4,#04c 50%,#039);color:#fff;font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 6px 20px rgba(0,68,204,.4),0 0 40px rgba(94,182,228,.25),inset 0 0 0 1px hsla(0,0%,100%,.15),inset 0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.ai-view .chat-history-sidebar .btn-primary:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,transparent 35%,hsla(0,0%,100%,.4) 45%,hsla(0,0%,100%,.9) 50%,hsla(0,0%,100%,.4) 55%,transparent 65%,transparent);background-size:300% 300%;border-radius:16px;opacity:0;transition:opacity .4s ease;animation:shimmerGlow 4s cubic-bezier(.4,0,.2,1) infinite;will-change:transform,opacity}.ai-view .chat-history-sidebar .btn-primary:after{content:"";position:absolute;inset:0;border-radius:16px;background:linear-gradient(135deg,hsla(0,0%,100%,.2),transparent 50%);opacity:0;transition:opacity .4s ease}.ai-view .chat-history-sidebar .btn-primary:hover{background:linear-gradient(135deg,#04c,#039 50%,#026);transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px rgba(0,68,204,.5),0 0 60px rgba(94,182,228,.4),inset 0 0 0 1px hsla(0,0%,100%,.2),inset 0 2px 6px rgba(0,0,0,.15)}.ai-view .chat-history-sidebar .btn-primary:hover:after,.ai-view .chat-history-sidebar .btn-primary:hover:before{opacity:1}.ai-view .chat-history-sidebar .btn-primary:active{transform:translateY(-2px) scale(1);box-shadow:0 6px 20px rgba(0,68,204,.4),0 0 40px rgba(94,182,228,.25),inset 0 0 0 1px hsla(0,0%,100%,.15)}.dark-mode .ai-view .header-actions .new-chat-btn,.dark-mode .ai-view .header-actions .view-history-btn{background:#1e293b;border-color:#475569;color:#cbd5e1}.dark-mode .ai-view .header-actions .new-chat-btn:hover,.dark-mode .ai-view .header-actions .view-history-btn:hover{background:linear-gradient(135deg,#334155,#475569);border-color:#60a5fa;color:#60a5fa}.dark-mode .ai-view .header-actions .new-chat-btn{background:linear-gradient(135deg,#475569,#334155);color:#cbd5e1;border-color:#64748b}.dark-mode .ai-view .header-actions .new-chat-btn:hover{background:linear-gradient(135deg,#334155,#475569);color:#fff}.dark-mode .ai-view .chat-history-sidebar{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#475569;box-shadow:0 32px 64px -12px rgba(0,0,0,.6),0 0 0 1px rgba(94,182,228,.15)}.dark-mode .ai-view .chat-history-sidebar .sidebar-header{background:linear-gradient(135deg,#1e293b,#334155);border-bottom-color:#475569}.dark-mode .ai-view .chat-history-sidebar .sidebar-header h3{background:linear-gradient(135deg,#5eb6e4,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .ai-view .chat-history-sidebar .close-btn{background:#334155;border-color:#475569;color:#cbd5e1}.dark-mode .ai-view .chat-history-sidebar .close-btn:hover{background:rgba(239,68,68,.2);border-color:#ef4444;color:#ef4444}.dark-mode .ai-view .chat-history-sidebar .sidebar-body{background:linear-gradient(180deg,#1e293b,#0f172a)}.dark-mode .ai-view .chat-history-sidebar .sidebar-body::-webkit-scrollbar-track{background:#334155}.dark-mode .ai-view .chat-history-sidebar .sidebar-body::-webkit-scrollbar-thumb{background:#475569}.dark-mode .ai-view .chat-history-sidebar .sidebar-body::-webkit-scrollbar-thumb:hover{background:#64748b}.dark-mode .ai-view .empty-history .empty-icon{background:linear-gradient(135deg,#334155,#475569);color:#5eb6e4}.dark-mode .ai-view .empty-history .empty-text{color:#94a3b8}.dark-mode .ai-view .chat-session-item{background:linear-gradient(135deg,#334155,#1e293b);border-color:rgba(71,85,105,.6)}.dark-mode .ai-view .chat-session-item:hover{background:linear-gradient(135deg,#475569,#334155);border-color:#5eb6e4;box-shadow:0 8px 24px rgba(94,182,228,.25)}.dark-mode .ai-view .chat-session-item.active{background:linear-gradient(135deg,#1e3a5f,#334155);border-color:#5eb6e4;box-shadow:0 8px 24px rgba(0,68,204,.3),inset 0 0 0 1px rgba(94,182,228,.2)}.dark-mode .ai-view .session-title{color:#f1f5f9}.dark-mode .ai-view .session-meta{color:#94a3b8}.dark-mode .ai-view .session-count{background:linear-gradient(135deg,#475569,#334155);color:#cbd5e1}.dark-mode .ai-view .session-date{color:#64748b}.dark-mode .ai-view .delete-session-btn{background:#334155;border-color:#475569;color:#cbd5e1}.dark-mode .ai-view .delete-session-btn:hover{background:rgba(239,68,68,.2);border-color:#ef4444;color:#ef4444}.dark-mode .ai-view .chat-history-sidebar .sidebar-footer{background:linear-gradient(135deg,#1e293b,#334155);border-top-color:#475569}.dark-mode .ai-view .chat-history-sidebar .btn-primary{background:linear-gradient(135deg,#475569,#334155);border-color:#64748b;color:#cbd5e1}.dark-mode .ai-view .chat-history-sidebar .btn-primary:hover{background:linear-gradient(135deg,#334155,#475569);color:#fff}.ai-view .main-content-layout{display:flex;gap:20px;flex:1;min-height:0;transition:all .3s ease}.ai-view .main-content-layout .chat-card{flex:0 0 60%;display:flex;flex-direction:column;min-width:0;transition:flex .3s ease}.ai-view .main-content-layout:has(.mindmap-card.collapsed) .chat-card{flex:1}.ai-view .mindmap-card{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;transition:all .3s ease}.ai-view .mindmap-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.12)}.ai-view .mindmap-card.collapsed{flex:0 0 50px;min-width:50px;max-width:50px}.ai-view .mindmap-card.collapsed .mindmap-content{display:none}.ai-view .mindmap-card.collapsed .mindmap-header{padding:12px 8px;flex-direction:column;align-items:center;gap:8px}.ai-view .mindmap-card.collapsed .mindmap-title{display:none}.ai-view .mindmap-card.collapsed .mindmap-actions{flex-direction:column}.ai-view .mindmap-card.collapsed .mindmap-refresh-btn{display:none}.ai-view .mindmap-card.collapsed .mindmap-toggle-btn{padding:8px;width:34px;height:34px;justify-content:center}.ai-view .mindmap-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8f9fa,#fff)}.ai-view .mindmap-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:#1e293b;margin:0}.ai-view .mindmap-title svg{color:#0ea5e9}.ai-view .mindmap-actions{display:flex;gap:8px;align-items:center}.ai-view .mindmap-refresh-btn,.ai-view .mindmap-toggle-btn{padding:8px 12px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;transition:all .3s ease;box-shadow:0 2px 8px rgba(14,165,233,.3)}.ai-view .mindmap-refresh-btn:hover,.ai-view .mindmap-toggle-btn:hover{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 4px 12px rgba(14,165,233,.4);transform:translateY(-2px)}.ai-view .mindmap-toggle-btn{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 8px rgba(100,116,139,.3)}.ai-view .mindmap-toggle-btn:hover{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 4px 12px rgba(100,116,139,.4)}.ai-view .mindmap-content{flex:1;overflow:hidden;padding:0;background:#fafbfc}.ai-view .mindmap-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8}.ai-view .mindmap-loading .empty-mindmap-icon svg{animation:mindmap-spin 1.2s linear infinite;transform-origin:center center}@keyframes mindmap-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ai-view .mindmap-empty{flex-direction:column;height:100%;color:#94a3b8}.ai-view .empty-mindmap-icon,.ai-view .mindmap-empty{display:flex;align-items:center;justify-content:center}.ai-view .empty-mindmap-icon{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0ea5e9;margin-bottom:16px}.ai-view .empty-mindmap-text{font-size:16px;font-weight:500;color:#64748b;margin:0 0 8px 0}.ai-view .empty-mindmap-hint{font-size:14px;color:#94a3b8;margin:0}.ai-view .mindmap-tree{display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;width:100%;overflow:visible}.ai-view .mindmap-display-outer{width:100%;height:100%;position:relative;overflow:hidden;cursor:grab}.ai-view .mindmap-display-outer.is-panning{cursor:grabbing}.ai-view .mindmap-display,.ai-view .mindmap-display *{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.ai-view .mindmap-display img{pointer-events:none}.ai-view .mindmap-node{display:flex;flex-direction:column;align-items:center;margin:15px;position:relative;flex-shrink:0}.ai-view .mindmap-node .node-content{padding:12px 20px;border-radius:10px;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e5e7eb;font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s ease;cursor:default}.ai-view .mindmap-node .node-content:hover{border-color:#0ea5e9;box-shadow:0 4px 12px rgba(14,165,233,.2);transform:translateY(-2px)}.ai-view .mindmap-node.root .node-content{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border-color:#0ea5e9;font-size:16px;font-weight:600;box-shadow:0 4px 12px rgba(14,165,233,.3)}.ai-view .mindmap-node.level-1 .node-content{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#7dd3fc;color:#0369a1}.ai-view .mindmap-node.level-2 .node-content{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e;font-size:13px}.ai-view .mindmap-node .node-children{display:flex;justify-content:center;flex-wrap:nowrap;gap:30px;margin-top:40px;position:relative;min-width:-moz-max-content;min-width:max-content}.ai-view .mindmap-node .node-children:before{content:"";position:absolute;top:-15px;left:50%;width:2px;height:15px;background:linear-gradient(180deg,#cbd5e1,transparent)}.ai-view .mindmap-node .node-children .mindmap-node:before{content:"";position:absolute;top:-30px;left:50%;width:2px;height:30px;background:linear-gradient(180deg,transparent,#cbd5e1)}.ai-view .mindmap-radial{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:100px 80px;min-height:750px}@media (max-width:768px){.ai-view .main-content-layout{flex-direction:column}.ai-view .main-content-layout .chat-card{flex:0 0 auto}.ai-view .mindmap-card{margin-top:12px}.ai-view .mindmap-card,.ai-view .mindmap-card.collapsed{flex:0 0 auto;min-width:0;max-width:100%}.ai-view .mindmap-card.collapsed .mindmap-content{display:block}.ai-view .mindmap-card.collapsed .mindmap-title{display:flex}.ai-view .mindmap-card.collapsed .mindmap-actions{flex-direction:row}}.ai-view .center-node{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.ai-view .center-content{padding:20px 40px;border-radius:50px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;font-size:20px;font-weight:700;box-shadow:0 8px 24px rgba(14,165,233,.5);white-space:nowrap;border:4px solid #fff}.ai-view .main-branches{position:absolute;width:100%;height:100%;top:0;left:0}.ai-view .branch{position:absolute;display:flex;align-items:center}.ai-view .branch-1{top:10%;left:5%;flex-direction:row}.ai-view .branch-2{top:10%;right:5%;flex-direction:row-reverse}.ai-view .branch-3{bottom:10%;left:50%;transform:translateX(-50%);flex-direction:column;align-items:center}.ai-view .branch-line{width:180px;height:3px;background:linear-gradient(90deg,#0ea5e9,#cbd5e1);position:relative}.ai-view .branch-1 .branch-line{background:linear-gradient(90deg,#cbd5e1,#0ea5e9)}.ai-view .branch-3 .branch-line{width:3px;height:120px;background:linear-gradient(180deg,#cbd5e1,#0ea5e9)}.ai-view .main-node{padding:14px 24px;border-radius:25px;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1;font-size:16px;font-weight:600;box-shadow:0 4px 12px rgba(14,165,233,.3);white-space:nowrap;border:2px solid #0ea5e9;transition:all .3s ease}.ai-view .main-node:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(14,165,233,.4)}.ai-view .sub-branches{display:flex;flex-direction:column;gap:20px;margin-left:20px}.ai-view .branch-2 .sub-branches{margin-left:0;margin-right:20px}.ai-view .branch-3 .sub-branches{margin-left:0;margin-top:20px;align-items:center}.ai-view .sub-branch{display:flex;align-items:center;gap:8px}.ai-view .branch-3 .sub-branch{flex-direction:column}.ai-view .sub-line{width:70px;height:2px;background:linear-gradient(90deg,#cbd5e1,#fbbf24)}.ai-view .branch-2 .sub-line{background:linear-gradient(90deg,#fbbf24,#cbd5e1)}.ai-view .branch-3 .sub-line{width:2px;height:50px;background:linear-gradient(180deg,#cbd5e1,#fbbf24)}.ai-view .sub-node{padding:10px 18px;border-radius:20px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:14px;font-weight:500;box-shadow:0 3px 8px rgba(251,191,36,.3);white-space:nowrap;border:2px solid #fbbf24;transition:all .3s ease}.ai-view .sub-node:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(251,191,36,.4)}@media (max-width:768px){.ai-view,.ai-view .main-content-layout{height:auto!important;min-height:auto!important;overflow:visible!important}.ai-view .main-content-layout{flex-direction:column!important;gap:16px}.ai-view .main-content-layout .chat-card{flex:none!important;width:100%!important}.ai-view .chat-window{max-height:60vh!important;overflow-y:auto!important}.ai-view .chat-messages{max-height:50vh!important;overflow-y:auto!important}.ai-view .mindmap-card{flex:none!important;width:100%!important;min-height:300px}.ai-view .mindmap-card,.ai-view .mindmap-content{height:auto!important;max-height:none!important;overflow:visible!important}.ai-view .mindmap-content{min-height:250px}.ai-view .mindmap-header{flex-direction:row!important;flex-wrap:nowrap;white-space:nowrap}.ai-view .mindmap-header .mindmap-title{white-space:nowrap}}.dark-mode .ai-view .chat-card,.dark-mode .ai-view .section-card{background:#020617;border-color:#1f2937}.dark-mode .ai-view .chat-window{background:#020617}.dark-mode .ai-view .page-subtitle{color:#cbd5f5;background:linear-gradient(135deg,#020617,#0b1120);border-left-color:#5eb6e4}.dark-mode .ai-view .file-name,.dark-mode .ai-view .file-preview-meta,.dark-mode .ai-view .file-preview-name,.dark-mode .ai-view .page-title,.dark-mode .ai-view .section-subtitle,.dark-mode .ai-view .section-title{color:#e5e7eb}.dark-mode .ai-view .composer-input{background:#020617;border-color:#1f2937;color:#e5e7eb}.dark-mode .ai-view .composer-input::-moz-placeholder{color:#6b7280}.dark-mode .ai-view .composer-input::placeholder{color:#6b7280}.dark-mode .ai-view .file-preview-card{background:#020617;border-color:#1f2937}.dark-mode .ai-view .file-dialog,.dark-mode .file-dialog-overlay.ai-view .file-dialog{background:#020617}.dark-mode .ai-view .file-dialog-header{background:linear-gradient(135deg,#020617,#0b1120);border-bottom-color:#1f2937}.dark-mode .ai-view .file-dialog-header h3{color:#e5e7eb}.dark-mode .ai-view .file-dialog-header .header-subtitle{color:#93c5fd}.dark-mode .ai-view .file-dialog-body{background:#020617}.dark-mode .ai-view .file-card{background:#020617;border-color:#1f2937}.dark-mode .ai-view .file-card.selected{background:linear-gradient(135deg,#020617,#1d4ed8)}.dark-mode .ai-view .empty-text,.dark-mode .ai-view .loading-text{color:#9ca3af}.dark-mode .ai-view .file-dialog-body .empty-state,.dark-mode .ai-view .file-dialog-body .loading-container{background:transparent}.dark-mode .ai-view .file-select-btn{background:linear-gradient(135deg,#020617,#0b1120);border-color:#1f2937;color:#e5e7eb}.dark-mode .ai-view .file-dropdown-menu{background:#020617;border-color:#1f2937}.dark-mode .ai-view .file-dropdown-menu .dropdown-item{color:#e5e7eb}.dark-mode .ai-view .file-dropdown-menu .dropdown-item:hover{background:#111827}.dark-mode .ai-view .uploaded-files-panel{background:#020617;border-color:#1f2937}.dark-mode .ai-view .files-panel-body{background:#020617}.dark-mode .ai-view .empty-files{color:#9ca3af}.dark-mode .ai-view .file-item{background:#020617;border-color:#1f2937}.dark-mode .ai-view .file-count-badge,.dark-mode .ai-view .file-type-badge{background:#0b1120;color:#e5e7eb}.dark-mode .ai-view .section-card{background:#020617!important;border-color:#1f2937!important;color:#e5e7eb!important}.dark-mode .ai-view .section-card .section-title{color:#f9fafb!important}.dark-mode .ai-view .section-card .section-subtitle{color:#cbd5e1!important}.achievement-info-bar[data-v-24964ead]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f3f4f6;border-radius:8px;margin-bottom:16px}.back-btn[data-v-24964ead]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;cursor:pointer;transition:all .2s}.back-btn[data-v-24964ead]:hover{background:#f9fafb;border-color:#9ca3af}.achievement-name[data-v-24964ead]{flex:1;font-size:15px;font-weight:600;color:#111827}.file-size-badge[data-v-24964ead]{padding:2px 8px;background:#e5e7eb;border-radius:4px;font-size:12px;color:#6b7280}.uploaded-files-section[data-v-24964ead]{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.uploaded-files-header[data-v-24964ead]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.files-count[data-v-24964ead]{font-size:13px;font-weight:600;color:#374151}.uploaded-files-list[data-v-24964ead]{display:flex;flex-direction:column;gap:8px}.uploaded-file-item[data-v-24964ead]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.uploaded-file-item[data-v-24964ead]:hover{border-color:#3b82f6;box-shadow:0 2px 4px rgba(59,130,246,.1)}.uploaded-file-item.uploading[data-v-24964ead]{opacity:.7;border-color:#93c5fd;background:#eff6ff}.uploaded-file-item .file-icon[data-v-24964ead]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#dbeafe;border-radius:6px;color:#3b82f6}.uploaded-file-item.uploading .file-icon[data-v-24964ead]{background:#bfdbfe}.uploaded-file-item .file-info[data-v-24964ead]{flex:1;min-width:0}.uploaded-file-item .file-name[data-v-24964ead]{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uploaded-file-item .file-size[data-v-24964ead],.uploaded-file-item .file-status[data-v-24964ead]{font-size:12px;color:#6b7280;margin-top:2px}.uploaded-file-item .file-status[data-v-24964ead]{color:#3b82f6}.remove-file-btn[data-v-24964ead]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .2s}.remove-file-btn[data-v-24964ead]:hover{background:#fee2e2;color:#ef4444}.loading-spinner-small[data-v-24964ead]{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin-24964ead .8s linear infinite}@keyframes spin-24964ead{to{transform:rotate(1turn)}}html.dark-mode .achievement-info-bar[data-v-24964ead]{background:#1f2937}html.dark-mode .back-btn[data-v-24964ead]{background:#374151;border-color:#4b5563;color:#e5e7eb}html.dark-mode .back-btn[data-v-24964ead]:hover{background:#4b5563;border-color:#6b7280}html.dark-mode .achievement-name[data-v-24964ead]{color:#f3f4f6}html.dark-mode .file-size-badge[data-v-24964ead]{background:#374151;color:#9ca3af}:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--primary-dark:#1e40af;--secondary-color:#64748b;--secondary-hover:#475569;--secondary-light:#f1f5f9;--success-color:#10b981;--success-hover:#059669;--success-light:#d1fae5;--warning-color:#f59e0b;--warning-hover:#d97706;--warning-light:#fef3c7;--error-color:#ef4444;--error-hover:#dc2626;--error-light:#fee2e2;--info-color:#06b6d4;--info-hover:#0891b2;--info-light:#cffafe;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-overlay:rgba(0,0,0,.5);--bg-glass:hsla(0,0%,100%,.8);--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-disabled:#94a3b8;--text-inverse:#fff;--border-primary:#e2e8f0;--border-secondary:#cbd5e1;--border-focus:#2563eb;--border-error:#ef4444;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-thin:100;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--transition-fast:0.15s ease-in-out;--transition-normal:0.3s ease-in-out;--transition-slow:0.5s ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}@media (prefers-color-scheme:dark){:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-glass:rgba(15,23,42,.8);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-disabled:#64748b;--border-primary:#334155;--border-secondary:#475569}}html.dark-mode{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-glass:rgba(15,23,42,.8);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-disabled:#64748b;--border-primary:#334155;--border-secondary:#475569}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{line-height:var(--leading-normal)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--text-base);font-weight:var(--font-normal);color:var(--text-primary);background-color:var(--bg-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.transition{transition:all var(--transition-normal)}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg)}.focus\:outline-none:focus{outline:none}.focus\:ring-2:focus{box-shadow:0 0 0 2px var(--primary-color)}@keyframes bounceInUp{0%{opacity:0;transform:translateY(60px) scale(.95)}60%{opacity:1;transform:translateY(-10px) scale(1.02)}80%{transform:translateY(5px) scale(.98)}to{transform:translateY(0) scale(1)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-60px) scale(.95)}60%{opacity:1;transform:translateY(10px) scale(1.02)}80%{transform:translateY(-5px) scale(.98)}to{transform:translateY(0) scale(1)}}.ai-assistant-container{background-color:#f8f9fa;display:flex;flex-direction:column}.ai-assistant-container .top-header{position:fixed;top:0;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);height:64px;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);z-index:1000}.ai-assistant-container .header-left{display:flex;align-items:center;gap:var(--space-4)}.ai-assistant-container .back-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease;margin-right:8px}.ai-assistant-container .back-btn:hover{background-color:#f8f9fa;color:#333}.ai-assistant-container .menu-btn{background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast)}.ai-assistant-container .menu-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.ai-assistant-container .page-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);will-change:auto!important;line-height:1;margin:0;padding:0;display:inline-flex;align-items:center}.ai-assistant-container .page-title,.ai-assistant-container .page-title:active,.ai-assistant-container .page-title:hover{transition:none!important;animation:none!important;transform:translateY(-1px)!important}.ai-assistant-container .header-left:active .page-title,.ai-assistant-container .header-left:hover .page-title,.ai-assistant-container .top-header:active .page-title,.ai-assistant-container .top-header:hover .page-title{transform:translateY(-1px)!important}.ai-assistant-container .header-right{display:flex;align-items:center;gap:var(--space-6)}.ai-assistant-container .sync-status-btn{background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.ai-assistant-container .sync-status-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.05)}.ai-assistant-container .project-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-width:180px;flex-shrink:0}.ai-assistant-container .progress-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.ai-assistant-container .progress-bar{width:100%;height:10px;background:#e5e7eb;border-radius:20px;overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.ai-assistant-container .progress-fill{height:100%;background:linear-gradient(90deg,#5eb6e4,#04c);border-radius:20px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,68,204,.3)}.ai-assistant-container .progress-text{font-size:14px;color:#04c;font-weight:700}.ai-assistant-container .project-switcher{position:relative;flex-shrink:0}.ai-assistant-container .switch-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);min-width:180px;justify-content:space-between}.ai-assistant-container .switch-btn:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.ai-assistant-container .current-project{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.ai-assistant-container .project-dropdown{position:absolute;top:100%;right:0;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9999;min-width:300px;max-height:400px;overflow-y:auto;margin-top:var(--space-2)}.ai-assistant-container .dropdown-header{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);background:var(--bg-tertiary)}.ai-assistant-container .dropdown-header,.ai-assistant-container .project-option{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary)}.ai-assistant-container .project-option{display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all var(--transition-fast)}.ai-assistant-container .project-option:hover{background:var(--bg-tertiary)}.ai-assistant-container .project-option.active{background:var(--primary-light);color:var(--primary-color)}.ai-assistant-container .project-option:last-child{border-bottom:none}.ai-assistant-container .project-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}.ai-assistant-container .project-lead{font-size:var(--text-xs);color:var(--text-tertiary)}.ai-assistant-container .project-progress-small{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);min-width:60px}.ai-assistant-container .progress-bar-small{width:60px;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.ai-assistant-container .progress-fill-small{height:100%;background:var(--primary-color);border-radius:var(--radius-full);transition:width var(--transition-normal)}.ai-assistant-container .progress-text-small{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.ai-assistant-container .main-content{flex:1;margin-top:64px;padding:8px 24px 24px 24px;display:flex;flex-direction:column;min-height:0;overflow:auto;gap:8px}.ai-assistant-container .page-main-title{font-size:28px;font-weight:700;background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px 0;padding:2px 0;position:relative;animation:fadeInDown .6s ease-out;flex-shrink:0}.ai-assistant-container .page-main-title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:linear-gradient(90deg,#04c,#5eb6e4);border-radius:2px;animation:slideInLeft .8s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.ai-assistant-container .project-overview{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:32px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border:1px solid #e3e8ef;margin-bottom:28px;animation:bounceInDown .8s cubic-bezier(.34,1.56,.64,1);transition:all .3s ease;position:relative;z-index:1}.ai-assistant-container .project-overview:hover{box-shadow:0 12px 20px -5px rgba(0,0,0,.15);transform:translateY(-2px)}.ai-assistant-container .project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}.ai-assistant-container .project-info{flex:1;min-width:0}.ai-assistant-container .project-title{position:relative;margin:0 0 20px 0;display:inline-block;z-index:1}.ai-assistant-container .title-text{font-size:32px;font-weight:800;background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-assistant-container .title-decoration{position:absolute;bottom:-8px;left:0;width:100%;height:4px;background:linear-gradient(90deg,#5eb6e4,#a7c6ed 50%,transparent);border-radius:2px}.ai-assistant-container .project-details{display:flex;flex-direction:column;gap:12px}.ai-assistant-container .project-lead,.ai-assistant-container .project-name{font-size:15px;font-weight:500;color:#64748b;display:flex;align-items:center;gap:8px}.ai-assistant-container .detail-icon{flex-shrink:0;color:#5eb6e4}.ai-assistant-container .project-lead{font-size:var(--text-sm);color:var(--text-secondary)}.ai-assistant-container .task-and-chat-container{display:flex;gap:var(--space-6);align-items:flex-start}.ai-assistant-container .task-management{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:24px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border:1px solid #e3e8ef;flex:0 0 400px;height:500px;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease;animation:bounceInUp .8s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1}.ai-assistant-container .task-management:hover{box-shadow:0 12px 20px -5px rgba(0,0,0,.15);transform:translateY(-2px)}.ai-assistant-container .task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}.ai-assistant-container .filter-dropdown{position:relative;display:inline-block;z-index:1}.ai-assistant-container .dropdown-button{padding:8px 16px;border:1px solid #e9ecef;border-radius:8px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.ai-assistant-container .dropdown-button:hover{border-color:var(--primary-color);background:#f8f9fa}.ai-assistant-container .dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:150px;z-index:9999}.ai-assistant-container .dropdown-item{padding:10px 16px;font-size:14px;cursor:pointer;transition:background-color .2s}.ai-assistant-container .dropdown-item:hover{background-color:#f8f9fa}.ai-assistant-container .dropdown-item.active{background-color:var(--primary-light);color:var(--primary-color);font-weight:600}.ai-assistant-container .search-box{position:relative;display:flex;align-items:center}.ai-assistant-container .search-box input{padding:8px 12px 8px 36px;border:1px solid #e9ecef;border-radius:20px;font-size:14px;width:200px;transition:border-color .3s ease}.ai-assistant-container .search-box input:focus{outline:none;border-color:#007bff}.ai-assistant-container .search-box svg{position:absolute;left:12px;color:#666}.ai-assistant-container .task-grid{display:grid;grid-template-columns:1fr;gap:12px;overflow-y:auto;flex:1;padding-top:4px}.ai-assistant-container .task-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.ai-assistant-container .task-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-4px);border-color:#5eb6e4}.ai-assistant-container .task-card .task-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ai-assistant-container .task-card input[type=checkbox]{width:14px;height:14px}.ai-assistant-container .task-title{flex:1;color:#333}.ai-assistant-container .task-status{padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.ai-assistant-container .task-card:hover .task-status{transform:scale(1.05)}.ai-assistant-container .task-status.pending{background:linear-gradient(135deg,#e0b3e5,#a76fb5);color:#fff}.ai-assistant-container .task-status.in-progress{background:linear-gradient(135deg,#a7c6ed,#5eb6e4);color:#fff}.ai-assistant-container .task-status.completed{background:linear-gradient(135deg,#34d399,#10b981);color:#fff}.ai-assistant-container .task-status.paused{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.ai-assistant-container .task-description{font-size:12px;color:#666;margin-bottom:8px;line-height:1.4}.ai-assistant-container .task-assignee{display:flex;align-items:center;gap:8px}.ai-assistant-container .assignee-avatar{width:20px;height:20px;border-radius:50%;background:#007bff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.ai-assistant-container .task-assignee span{font-size:12px;color:#333}.ai-assistant-container .task-card.unpublished{border:2px dashed var(--warning-color);background:var(--warning-light);opacity:.8}.ai-assistant-container .unpublished-badge{background:var(--warning-color);color:#fff;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin-left:var(--space-2);font-weight:var(--font-medium)}.ai-assistant-container .task-actions{margin-top:var(--space-3);display:flex;justify-content:flex-end;gap:var(--space-2)}.ai-assistant-container .publish-btn{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,68,204,.3);text-transform:uppercase;letter-spacing:.5px}.ai-assistant-container .publish-btn:hover{background:linear-gradient(135deg,#04c,#039);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,68,204,.4)}.ai-assistant-container .main-layout{display:flex;gap:24px;align-items:stretch;flex:1;min-height:0;overflow:visible}.ai-assistant-container .mobile-mode-toggle{display:none}.ai-assistant-container .mobile-mode-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#4b5563;font-size:13px;cursor:pointer;transition:all .2s ease}.ai-assistant-container .mobile-mode-btn svg{color:inherit}.ai-assistant-container .mobile-mode-btn.active{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border-color:transparent;box-shadow:0 4px 10px rgba(0,68,204,.35)}.ai-assistant-container .mobile-mode-btn.active svg{color:#fff}.ai-assistant-container .ai-chat-section{background:linear-gradient(135deg,#fff,#f0f7ff 50%,#fff);border-radius:24px;padding:24px;box-shadow:0 8px 24px rgba(0,68,204,.12),0 2px 8px rgba(94,182,228,.08);border:2px solid rgba(94,182,228,.2);flex:1;min-height:0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);animation:bounceInUp .8s cubic-bezier(.34,1.56,.64,1) .1s backwards}.ai-assistant-container .ai-chat-section:hover{box-shadow:0 16px 32px rgba(0,68,204,.18),0 4px 12px rgba(94,182,228,.12);border-color:rgba(94,182,228,.4);z-index:1;position:relative}.ai-assistant-container .chat-header{position:absolute;top:24px;left:24px;right:24px;display:flex;align-items:center;gap:16px;z-index:10}.ai-assistant-container .ai-dialog-title{font-size:18px;font-weight:600;color:#04c;display:flex;align-items:center;gap:8px;pointer-events:none}.ai-assistant-container .view-history-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:linear-gradient(135deg,#f0f7ff,#e3f2ff);border:1px solid rgba(94,182,228,.3);border-radius:10px;color:#04c;cursor:pointer;transition:all .3s ease;flex-shrink:0}.ai-assistant-container .view-history-btn:hover{background:linear-gradient(135deg,#e3f2ff,#d4e9ff);border-color:#5eb6e4;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,68,204,.15)}.ai-assistant-container .view-history-btn:active{transform:translateY(0)}.ai-assistant-container .view-history-btn svg{flex-shrink:0}.ai-assistant-container .ai-dialog-title:before{content:"";width:6px;height:6px;background:linear-gradient(135deg,#04c,#5eb6e4);border-radius:50%;box-shadow:0 0 8px rgba(0,68,204,.5);animation:pulse 2s ease-in-out infinite}.ai-assistant-container .chat-container{display:flex;flex-direction:column;gap:16px;overflow-x:hidden;padding-right:8px;padding-bottom:80px;padding-top:60px;margin-top:50px;max-height:450px}@media (max-width:768px){.ai-assistant-container .chat-header{position:static;padding:0 4px 8px 4px}.ai-assistant-container .chat-container{max-height:none;min-height:55vh;padding-bottom:16px;padding-top:8px;margin-top:0}}.ai-assistant-container .chat-container::-webkit-scrollbar{width:6px}.ai-assistant-container .chat-container::-webkit-scrollbar-track{background:#f0f7ff;border-radius:3px}.ai-assistant-container .chat-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#04c,#5eb6e4);border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.ai-assistant-container .chat-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#039,#04c);box-shadow:0 0 4px rgba(0,68,204,.4)}.ai-assistant-container .ai-message{display:flex;justify-content:flex-start;width:100%;min-width:0}.ai-assistant-container .user-message{display:flex;justify-content:flex-end;width:100%;min-width:0}.ai-assistant-container .message-bubble{background:linear-gradient(135deg,#fff,#f0f7ff);border-radius:18px;color:#333;border:1px solid rgba(94,182,228,.2);box-shadow:0 2px 8px rgba(0,68,204,.08);animation:slideInLeft .3s ease-out}.ai-assistant-container .message-bubble,.ai-assistant-container .user-bubble{padding:12px 16px;max-width:70%;min-width:-moz-fit-content;min-width:fit-content;width:-moz-fit-content;width:fit-content;font-size:14px;line-height:1.4;white-space:normal;word-wrap:break-word;word-break:break-word}.ai-assistant-container .user-bubble{background:linear-gradient(135deg,#04c,#5eb6e4);color:#fff;border-radius:18px;box-shadow:0 4px 12px rgba(0,68,204,.3);animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.ai-assistant-container .user-input-area{display:flex;gap:12px;padding:8px 20px;border-top:2px solid rgba(94,182,228,.2);flex-shrink:0;background:linear-gradient(180deg,hsla(0,0%,100%,.95),rgba(240,247,255,.95));backdrop-filter:blur(10px);position:absolute;bottom:20px;left:40px;right:40px;align-items:center;border-radius:16px;box-shadow:0 -4px 16px rgba(0,68,204,.08)}.ai-assistant-container .file-menu-wrapper{position:relative;z-index:10}.ai-assistant-container .file-select-btn{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#f1f5f9);color:#64748b;border:2px solid #e5e7eb;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;z-index:1;pointer-events:auto}.ai-assistant-container .file-select-btn:hover:not(:disabled){background:linear-gradient(135deg,#e3f2ff,#d4e9ff);border-color:#5eb6e4;color:#04c;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,68,204,.2)}.ai-assistant-container .file-select-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-assistant-container .file-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.12);min-width:220px;padding:8px;z-index:1000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-assistant-container .file-dropdown-menu .dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#334155;font-size:14px;font-weight:500}.ai-assistant-container .file-dropdown-menu .dropdown-item:hover{background:linear-gradient(135deg,#f0f7ff,#e3f2ff);color:#04c}.ai-assistant-container .file-dropdown-menu .dropdown-item svg{flex-shrink:0;color:inherit}.ai-assistant-container .user-input-area input,.ai-assistant-container .user-input-area textarea{flex:1;padding:16px 20px;min-height:48px;border:2px solid rgba(94,182,228,.3);border-radius:24px;font-size:14px;transition:all .3s ease;background:#fff;box-shadow:0 2px 8px rgba(0,68,204,.05);font-family:inherit;resize:none;overflow-y:auto;overflow-x:hidden;max-height:200px}.ai-assistant-container .user-input-area input:focus,.ai-assistant-container .user-input-area textarea:focus{outline:none;border-color:#5eb6e4;box-shadow:0 4px 12px rgba(0,68,204,.15),0 0 0 3px rgba(94,182,228,.1)}.ai-assistant-container .user-input-area textarea{line-height:1.5}.ai-assistant-container .user-input-area textarea::-webkit-scrollbar{width:6px}.ai-assistant-container .user-input-area textarea::-webkit-scrollbar-track{background:transparent;border-radius:3px}.ai-assistant-container .user-input-area textarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#5eb6e4,#04c);border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.ai-assistant-container .user-input-area textarea::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#04c,#039)}.ai-assistant-container .user-input-area textarea{scrollbar-width:thin;scrollbar-color:#5eb6e4 transparent}.ai-assistant-container .user-input-area input::-moz-placeholder,.ai-assistant-container .user-input-area textarea::-moz-placeholder{color:#9ca3af}.ai-assistant-container .user-input-area input::placeholder,.ai-assistant-container .user-input-area textarea::placeholder{color:#9ca3af}.ai-assistant-container .send-btn{padding:16px 32px;min-height:48px;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border:none;border-radius:24px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,68,204,.3)}.ai-assistant-container .send-btn:hover:not(:disabled){background:linear-gradient(135deg,#039,#026);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px rgba(0,68,204,.5),0 0 20px rgba(94,182,228,.3)}.ai-assistant-container .send-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.ai-assistant-container .send-btn.stop-btn{background:linear-gradient(135deg,#ff4d4f,#cf1322);box-shadow:0 4px 12px rgba(255,77,79,.4);cursor:pointer;opacity:1}.ai-assistant-container .send-btn.stop-btn:hover{background:linear-gradient(135deg,#ff7875,#ff4d4f);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px rgba(255,77,79,.6),0 0 20px rgba(255,77,79,.3)}.ai-assistant-container .send-btn.stop-btn svg{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.95)}}.ai-assistant-container .ai-loading-indicator{display:flex;align-items:center;gap:12px;padding:16px 20px;color:#64748b;font-size:14px}.ai-assistant-container .ai-loading-indicator .loading-dots{display:flex;gap:6px;align-items:center}.ai-assistant-container .ai-loading-indicator .loading-dots span{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#5eb6e4,#04c);animation:loading-dot 1.4s ease-in-out infinite both}.ai-assistant-container .ai-loading-indicator .loading-dots span:first-child{animation-delay:-.32s}.ai-assistant-container .ai-loading-indicator .loading-dots span:nth-child(2){animation-delay:-.16s}.ai-assistant-container .ai-loading-indicator .loading-dots span:nth-child(3){animation-delay:0}@keyframes loading-dot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.ai-assistant-container .ai-loading-indicator .loading-text{font-size:14px;color:#64748b;font-weight:500}.ai-assistant-container .ai-suggestions{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:32px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border:1px solid #e3e8ef;transition:all .3s ease;animation:bounceInUp .8s cubic-bezier(.34,1.56,.64,1) .2s backwards}.ai-assistant-container .ai-suggestions:hover{box-shadow:0 12px 20px -5px rgba(0,0,0,.15);transform:translateY(-2px)}.ai-assistant-container .suggestions-title{font-size:22px;font-weight:700;background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 20px 0}.ai-assistant-container .suggestions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.ai-assistant-container .suggestion-card{display:flex;align-items:flex-start;gap:16px;padding:20px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.ai-assistant-container .suggestion-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-4px);border-color:#5eb6e4}.ai-assistant-container .suggestion-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#a7c6ed,#5eb6e4);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(94,182,228,.3);transition:all .3s ease}.ai-assistant-container .suggestion-card:hover .suggestion-icon{transform:scale(1.1) rotate(5deg)}.ai-assistant-container .suggestion-icon.warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 12px rgba(251,191,36,.3)}.ai-assistant-container .suggestion-content{flex:1}.ai-assistant-container .suggestion-title{font-size:16px;font-weight:600;color:#333;margin-bottom:4px}.ai-assistant-container .suggestion-text{font-size:14px;color:#666;line-height:1.4}.ai-assistant-container .bottom-actions{gap:16px;padding:20px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.ai-assistant-container .action-btn,.ai-assistant-container .bottom-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;background:#fff}.ai-assistant-container .action-btn{gap:8px;padding:12px 24px;border:1px solid #e9ecef;border-radius:8px;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;min-width:-moz-fit-content;min-width:fit-content}.ai-assistant-container .action-btn:hover{background:#f8f9fa;border-color:#007bff}.ai-assistant-container .action-btn.primary{background:#007bff;color:#fff;border-color:#007bff}.ai-assistant-container .action-btn.primary:hover{background:#0056b3;border-color:#0056b3}@media (max-width:1024px){.ai-assistant-container .project-header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.ai-assistant-container .project-info{text-align:center}.ai-assistant-container .project-progress,.ai-assistant-container .switch-btn{min-width:200px;align-self:center}}@media (max-width:768px){.ai-assistant-container .main-content{padding:var(--space-4);height:auto;min-height:auto;overflow:visible}.ai-assistant-container .project-overview{padding:var(--space-4)}.ai-assistant-container .project-header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.ai-assistant-container .project-info{text-align:center}.ai-assistant-container .project-title{font-size:var(--text-2xl)}.ai-assistant-container .project-progress,.ai-assistant-container .switch-btn{min-width:180px;align-self:center}.ai-assistant-container .current-project{max-width:120px}.ai-assistant-container .project-dropdown{min-width:280px;right:-20px}.ai-assistant-container .task-header{flex-direction:column;gap:var(--space-4);align-items:stretch}.ai-assistant-container .search-box input{width:100%}.ai-assistant-container .suggestions-grid,.ai-assistant-container .task-grid{grid-template-columns:1fr}.ai-assistant-container .bottom-actions{flex-direction:column}.ai-assistant-container .uploaded-files-panel.collapsed{width:60px!important;padding:16px 12px!important}.ai-assistant-container .uploaded-files-panel:not(.collapsed){width:280px!important;padding:20px!important}.ai-assistant-container .files-panel-header{margin-bottom:16px;padding-bottom:12px}.ai-assistant-container .files-panel-title{font-size:16px}.ai-assistant-container .main-layout{flex:none;min-height:auto;overflow:visible}.ai-assistant-container .content-wrapper{overflow:visible;min-height:auto}.ai-assistant-container .user-input-area{left:16px;right:16px;bottom:16px;padding:8px 12px;gap:8px}.ai-assistant-container .file-select-btn{width:44px;height:44px;flex-shrink:0}.ai-assistant-container .send-btn{padding:12px 20px;min-width:70px;min-height:44px;white-space:nowrap;writing-mode:horizontal-tb;flex-shrink:0}.ai-assistant-container .send-btn span{display:inline-block;white-space:nowrap}.ai-assistant-container .user-input-area textarea{padding:12px 16px;min-height:44px;font-size:14px}}.chat-history-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:2000;animation:fadeIn .2s ease-out}.chat-history-sidebar{position:fixed;top:0;left:0;width:400px;max-width:90vw;height:100vh;background:#fff;box-shadow:4px 0 20px rgba(0,0,0,.15);display:flex;flex-direction:column;animation:slideInLeft .3s ease-out;overflow:hidden}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.chat-history-sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#04c,#5eb6e4);color:#fff;flex-shrink:0}.chat-history-sidebar .sidebar-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.chat-history-sidebar .close-btn{background:hsla(0,0%,100%,.2);border:none;cursor:pointer;padding:8px;border-radius:8px;color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.chat-history-sidebar .close-btn:hover{background:hsla(0,0%,100%,.3);transform:rotate(90deg)}.chat-history-sidebar .sidebar-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.chat-history-sidebar .empty-state{text-align:center;padding:60px 20px;color:#94a3b8}.chat-history-sidebar .empty-state p{margin:0;font-size:14px}.chat-history-sidebar .chat-sessions-list{display:flex;flex-direction:column;gap:12px}.chat-history-sidebar .chat-session-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s ease}.chat-history-sidebar .chat-session-item:hover{background:#f8fafc;border-color:#5eb6e4;transform:translateX(-4px)}.chat-history-sidebar .chat-session-item.active{background:linear-gradient(135deg,#f0f7ff,#e3f2ff);border-color:#5eb6e4;box-shadow:0 4px 12px rgba(0,68,204,.15)}.chat-history-sidebar .session-info{flex:1;min-width:0}.chat-history-sidebar .session-title{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-history-sidebar .session-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:#64748b}.chat-history-sidebar .session-date{display:flex;align-items:center}.chat-history-sidebar .session-count{display:flex;align-items:center;padding:2px 8px;background:#fff;border-radius:12px;font-size:12px}.chat-history-sidebar .delete-session-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#94a3b8;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transform:scale(.8)}.chat-history-sidebar .chat-session-item:hover .delete-session-btn{opacity:1;transform:scale(1)}.chat-history-sidebar .delete-session-btn:hover{background:#fee2e2;color:#ef4444;transform:scale(1.1)}.chat-history-sidebar .sidebar-footer{display:flex;justify-content:center;padding:20px 24px;border-top:1px solid #e5e7eb;background:#fff;flex-shrink:0}.chat-history-sidebar .btn-primary{background:linear-gradient(135deg,#04c,#5eb6e4);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,68,204,.3);width:100%}.chat-history-sidebar .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,68,204,.4)}.chat-history-sidebar .btn-primary:active{transform:translateY(0)}.dark-mode .ai-assistant-container{background-color:#0f172a}.dark-mode .ai-assistant-container .top-header{background:#1e293b;border-bottom-color:#334155}.dark-mode .ai-assistant-container .page-title{color:#f1f5f9}.dark-mode .ai-assistant-container .menu-btn{color:#cbd5e1}.dark-mode .ai-assistant-container .menu-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .ai-assistant-container .main-content{background-color:#0f172a}.dark-mode .ai-assistant-container .chat-container{background:#1e293b;border-color:#475569}.dark-mode .ai-assistant-container .chat-message{background:#334155;color:#f1f5f9}.dark-mode .ai-assistant-container .chat-input{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .ai-assistant-container .task-card{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .ai-assistant-container .chat-history-sidebar,.dark-mode .ai-assistant-container .project-dropdown{background:#1e293b;border-color:#475569}.dark-mode .ai-assistant-container .chat-session-item{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .ai-assistant-container .chat-session-item:hover{background:#475569;border-color:#60a5fa}.dark-mode .ai-assistant-container .session-title{color:#f1f5f9}.dark-mode .ai-assistant-container .session-meta{color:#94a3b8}.dark-mode .ai-assistant-container .page-main-title{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .ai-assistant-container .project-overview{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2)}.dark-mode .ai-assistant-container .project-lead,.dark-mode .ai-assistant-container .project-name{color:#94a3b8}.dark-mode .ai-assistant-container .task-management{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2)}.dark-mode .ai-assistant-container .dropdown-button{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .ai-assistant-container .dropdown-button:hover{background:#475569;border-color:#60a5fa}.dark-mode .ai-assistant-container .dropdown-menu{background:#1e293b;border-color:#475569;box-shadow:0 4px 12px rgba(0,0,0,.4)}.dark-mode .ai-assistant-container .dropdown-item{color:#cbd5e1}.dark-mode .ai-assistant-container .dropdown-item:hover{background:#334155}.dark-mode .ai-assistant-container .dropdown-item.active{background:#1e3a8a;color:#60a5fa}.dark-mode .ai-assistant-container .search-box input{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .ai-assistant-container .search-box input::-moz-placeholder{color:#64748b}.dark-mode .ai-assistant-container .search-box input::placeholder{color:#64748b}.dark-mode .ai-assistant-container .search-box svg{color:#94a3b8}.dark-mode .ai-assistant-container .task-title{color:#f1f5f9}.dark-mode .ai-assistant-container .task-description{color:#94a3b8}.dark-mode .ai-assistant-container .task-assignee span{color:#cbd5e1}.dark-mode .ai-assistant-container .ai-chat-section{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 8px 24px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3)}.dark-mode .ai-assistant-container .ai-chat-section:hover{box-shadow:0 16px 32px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.4);border-color:#60a5fa}.dark-mode .ai-assistant-container .ai-dialog-title{color:#60a5fa}.dark-mode .ai-assistant-container .view-history-btn{background:linear-gradient(135deg,#334155,#475569);border-color:#475569;color:#60a5fa}.dark-mode .ai-assistant-container .view-history-btn:hover{background:linear-gradient(135deg,#475569,#334155);border-color:#60a5fa}.dark-mode .ai-assistant-container .chat-container::-webkit-scrollbar-track{background:#334155}.dark-mode .ai-assistant-container .message-bubble{background:linear-gradient(135deg,#334155,#475569);color:#f1f5f9;border-color:#475569}.dark-mode .ai-assistant-container .user-bubble{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff}.dark-mode .ai-assistant-container .user-input-area{background:linear-gradient(180deg,rgba(30,41,59,.95),rgba(51,65,85,.95));border-top-color:#475569;box-shadow:0 -4px 16px rgba(0,0,0,.3);padding:8px 20px}.dark-mode .ai-assistant-container .file-select-btn{background:linear-gradient(135deg,#334155,#475569);border-color:#475569;color:#cbd5e1}.dark-mode .ai-assistant-container .file-select-btn:hover:not(:disabled){background:linear-gradient(135deg,#475569,#334155);border-color:#5eb6e4;color:#5eb6e4}.dark-mode .ai-assistant-container .file-dropdown-menu{background:#1e293b;border-color:#475569;box-shadow:0 8px 20px rgba(0,0,0,.4)}.dark-mode .ai-assistant-container .file-dropdown-menu .dropdown-item{color:#f1f5f9}.dark-mode .ai-assistant-container .file-dropdown-menu .dropdown-item:hover{background:linear-gradient(135deg,#334155,#475569);color:#5eb6e4}.dark-mode .ai-assistant-container .user-input-area input,.dark-mode .ai-assistant-container .user-input-area textarea{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .ai-assistant-container .user-input-area input::-moz-placeholder,.dark-mode .ai-assistant-container .user-input-area textarea::-moz-placeholder{color:#64748b}.dark-mode .ai-assistant-container .user-input-area input::placeholder,.dark-mode .ai-assistant-container .user-input-area textarea::placeholder{color:#64748b}.dark-mode .ai-assistant-container .user-input-area input:focus,.dark-mode .ai-assistant-container .user-input-area textarea:focus{border-color:#5eb6e4;box-shadow:0 4px 12px rgba(0,68,204,.3),0 0 0 3px rgba(94,182,228,.2)}.dark-mode .ai-assistant-container .user-input-area textarea::-webkit-scrollbar-track{background:transparent}.dark-mode .ai-assistant-container .user-input-area textarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#60a5fa,#3b82f6)}.dark-mode .ai-assistant-container .user-input-area textarea::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3b82f6,#2563eb)}.dark-mode .ai-assistant-container .user-input-area textarea{scrollbar-color:#60a5fa transparent}.dark-mode .ai-assistant-container .ai-suggestions{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2)}.dark-mode .ai-assistant-container .suggestion-card{background:#334155;border-color:#475569}.dark-mode .ai-assistant-container .suggestion-card:hover{background:#475569;border-color:#60a5fa}.dark-mode .ai-assistant-container .suggestion-title{color:#f1f5f9}.dark-mode .ai-assistant-container .suggestion-text{color:#94a3b8}.dark-mode .ai-assistant-container .bottom-actions{background:#1e293b;border-color:#475569;box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark-mode .ai-assistant-container .action-btn{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .ai-assistant-container .action-btn:hover{background:#475569;border-color:#60a5fa;color:#60a5fa}.dark-mode .chat-history-sidebar{background:#1e293b;box-shadow:4px 0 20px rgba(0,0,0,.5)}.dark-mode .chat-history-sidebar .sidebar-body{background:#1e293b}.dark-mode .chat-history-sidebar .chat-session-item{background:#334155;border-color:#475569}.dark-mode .chat-history-sidebar .chat-session-item:hover{background:#475569;border-color:#60a5fa}.dark-mode .chat-history-sidebar .chat-session-item.active{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#60a5fa}.dark-mode .chat-history-sidebar .session-title{color:#f1f5f9}.dark-mode .chat-history-sidebar .session-meta{color:#94a3b8}.dark-mode .chat-history-sidebar .session-count{background:#475569;color:#cbd5e1}.dark-mode .chat-history-sidebar .delete-session-btn:hover{background:rgba(239,68,68,.2);color:#ef4444}.dark-mode .chat-history-sidebar .sidebar-footer{background:#1e293b;border-top-color:#475569}.typing-cursor{display:inline-block;margin-left:2px;font-weight:700;font-size:18px;color:#3b82f6;animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.message-wrapper{position:relative;display:flex;flex-direction:column;align-items:flex-start}.user-message .message-wrapper{align-items:flex-end}.copy-message-btn{margin-top:4px;padding:4px 8px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#94a3b8;transition:all .2s ease;display:flex;align-items:center;gap:4px;font-size:12px;opacity:.6}.copy-message-btn:hover{opacity:1;color:#3b82f6;background:#f1f5f9}.copy-message-btn:active{transform:scale(.95)}.copy-message-btn svg{flex-shrink:0}.dark-mode .copy-message-btn{color:#64748b}.dark-mode .copy-message-btn:hover{color:#60a5fa;background:#1e293b}.ai-content{line-height:1.7;color:#1e293b;word-wrap:break-word;word-break:break-word}.ai-content h1{font-size:1.875rem;font-weight:700;color:#0f172a;margin:1.5rem 0 1rem 0;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0;line-height:1.3}.ai-content h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin:1.25rem 0 .875rem 0;padding-bottom:.375rem;border-bottom:1px solid #e2e8f0;line-height:1.35}.ai-content h3{font-size:1.25rem;font-weight:600;color:#334155;margin:1rem 0 .75rem 0;line-height:1.4}.ai-content h4{font-size:1.125rem;font-weight:600;color:#475569;margin:.875rem 0 .625rem 0;line-height:1.45}.ai-content h5,.ai-content h6{font-size:1rem;font-weight:600;color:#64748b;margin:.75rem 0 .5rem 0;line-height:1.5}.ai-content p{margin:.875rem 0;line-height:1.7}.ai-content ol,.ai-content ul{margin:1rem 0;padding-left:1.75rem}.ai-content ul{list-style-type:disc}.ai-content ol{list-style-type:decimal}.ai-content li{margin:.375rem 0;line-height:1.6}.ai-content ol ul,.ai-content ul ul{list-style-type:circle;margin:.25rem 0}.ai-content ol ul ul,.ai-content ul ul ul{list-style-type:square}.ai-content pre{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:1rem;margin:1rem 0;overflow-x:auto;line-height:1.6;box-shadow:0 2px 8px rgba(0,0,0,.1)}.ai-content code,.ai-content pre{font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem}.ai-content code{background:#f1f5f9;padding:.125rem .375rem;border-radius:4px;color:#dc2626;font-weight:500}.ai-content pre code{background:transparent;padding:0;color:#e2e8f0;font-size:.875rem;font-weight:400}.ai-content blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:4px solid #3b82f6;background:#f0f9ff;border-radius:0 8px 8px 0;color:#475569;font-style:italic}.ai-content blockquote p{margin:.5rem 0}.ai-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9375rem;box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.ai-content table thead{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.ai-content table th{padding:.75rem 1rem;text-align:left;font-weight:600;border-bottom:2px solid #1e40af}.ai-content table td{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.ai-content table tbody tr{background:#fff;transition:background-color .2s}.ai-content table tbody tr:hover,.ai-content table tbody tr:nth-child(2n){background:#f8fafc}.ai-content table tbody tr:nth-child(2n):hover{background:#f1f5f9}.ai-content hr{margin:1.5rem 0;border:none;border-top:2px solid #e2e8f0;opacity:.6}.ai-content img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0;box-shadow:0 2px 8px rgba(0,0,0,.1)}.ai-content strong{font-weight:600;color:#0f172a}.ai-content em{font-style:italic;color:#475569}.ai-content a{color:#3b82f6;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s;font-weight:500}.ai-content a:hover{border-bottom-color:#3b82f6;color:#2563eb}.ai-content del{text-decoration:line-through;color:#94a3b8}.ai-content input[type=checkbox]{margin-right:.5rem;cursor:pointer}.dark-mode .typing-cursor{color:#60a5fa}.dark-mode .ai-content{color:#e2e8f0}.dark-mode .ai-content h1{color:#f1f5f9;border-bottom-color:#475569}.dark-mode .ai-content h2{color:#e2e8f0;border-bottom-color:#475569}.dark-mode .ai-content h3{color:#cbd5e1}.dark-mode .ai-content h4,.dark-mode .ai-content h5,.dark-mode .ai-content h6{color:#94a3b8}.dark-mode .ai-content pre{background:#0f172a;border-color:#334155}.dark-mode .ai-content code{background:#334155;color:#fbbf24}.dark-mode .ai-content pre code{background:transparent;color:#e2e8f0}.dark-mode .ai-content blockquote{background:#1e293b;border-left-color:#60a5fa;color:#cbd5e1}.dark-mode .ai-content table{box-shadow:0 1px 3px rgba(0,0,0,.3)}.dark-mode .ai-content table thead{background:linear-gradient(135deg,#1e40af,#1e3a8a)}.dark-mode .ai-content table th{border-bottom-color:#1e3a8a}.dark-mode .ai-content table td{border-bottom-color:#334155}.dark-mode .ai-content table tbody tr{background:#1e293b}.dark-mode .ai-content table tbody tr:hover{background:#334155}.dark-mode .ai-content table tbody tr:nth-child(2n){background:#0f172a}.dark-mode .ai-content table tbody tr:nth-child(2n):hover{background:#334155}.dark-mode .ai-content hr{border-top-color:#475569}.dark-mode .ai-content strong{color:#f8fafc}.dark-mode .ai-content em{color:#cbd5e1}.dark-mode .ai-content a{color:#60a5fa}.dark-mode .ai-content a:hover{border-bottom-color:#60a5fa;color:#93c5fd}.dark-mode .ai-content del{color:#64748b}.dark-mode .ai-content img{box-shadow:0 2px 8px rgba(0,0,0,.5)}.ai-assistant-container .uploaded-files-panel.collapsed{width:56px;max-width:56px;padding:16px 8px}.ai-assistant-container .uploaded-files-panel.collapsed .files-panel-title{display:none}.ai-assistant-container .uploaded-files-panel.collapsed .header-actions{flex-direction:column;gap:12px}.ai-assistant-container .uploaded-files-panel.collapsed .files-panel-body{display:none}.ai-assistant-container .header-actions{display:flex;align-items:center;gap:8px}.ai-assistant-container .clear-files-btn,.ai-assistant-container .toggle-panel-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(94,182,228,.3);border-radius:8px;color:#6b7280;cursor:pointer;transition:all .3s ease}.ai-assistant-container .toggle-panel-btn:hover{background:#e0f2fe;border-color:#5eb6e4;color:#04c;transform:scale(1.1)}.ai-assistant-container .toggle-panel-btn svg{transition:transform .3s ease}.ai-assistant-container .toggle-panel-btn svg.rotated{transform:rotate(180deg)}@media (max-width:768px){.ai-assistant-container .toggle-panel-btn{display:none}.ai-assistant-container .uploaded-files-panel,.ai-assistant-container .uploaded-files-panel.collapsed{width:100%!important;max-width:100%!important}.ai-assistant-container .uploaded-files-panel.collapsed .files-panel-title{display:flex}.ai-assistant-container .uploaded-files-panel.collapsed .header-actions{flex-direction:row;gap:8px}.ai-assistant-container .uploaded-files-panel.collapsed .files-panel-body{display:block}}.dark-mode .ai-assistant-container .uploaded-files-panel{background:linear-gradient(135deg,#1e293b,#334155)!important;border-color:#475569!important}.dark-mode .ai-assistant-container .file-item{background:#1e293b!important;border-color:#334155!important}.dark-mode .ai-assistant-container .file-icon{background:linear-gradient(135deg,#334155,#475569)!important;color:#60a5fa!important}.dark-mode .uploaded-files-panel{background:linear-gradient(135deg,#1e293b,#020617)!important;border-color:#1f2937!important}.ai-assistant-container .uploaded-files-panel{width:320px;flex-shrink:0;background:linear-gradient(135deg,#fff,#f0f7ff 50%,#fff);border-radius:24px;padding:24px;box-shadow:0 8px 24px rgba(0,68,204,.12),0 2px 8px rgba(94,182,228,.08);border:2px solid rgba(94,182,228,.2);min-height:0;transition:all .3s cubic-bezier(.4,0,.2,1);animation:bounceInUp .8s cubic-bezier(.34,1.56,.64,1) .2s backwards}.ai-assistant-container .uploaded-files-panel:hover{box-shadow:0 16px 32px rgba(0,68,204,.18),0 4px 12px rgba(94,182,228,.12);border-color:rgba(94,182,228,.4);z-index:1;position:relative}.ai-assistant-container .files-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(94,182,228,.2)}.ai-assistant-container .files-panel-title{font-size:18px;font-weight:600;color:#04c;margin:0;display:flex;align-items:center;gap:8px}.ai-assistant-container .files-panel-title:before{content:"";width:6px;height:6px;background:linear-gradient(135deg,#04c,#5eb6e4);border-radius:50%;box-shadow:0 0 8px rgba(0,68,204,.5);animation:pulse 2s ease-in-out infinite}.ai-assistant-container .clear-files-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(94,182,228,.3);border-radius:8px;color:#6b7280;cursor:pointer;transition:all .3s ease}.ai-assistant-container .clear-files-btn:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626;transform:scale(1.1)}.ai-assistant-container .files-panel-body{overflow-x:hidden;padding-right:4px}.ai-assistant-container .empty-files{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center;padding:40px 20px}.ai-assistant-container .empty-files svg{margin-bottom:16px;opacity:.5}.ai-assistant-container .empty-files p{margin:0;font-size:14px;color:#6b7280}.ai-assistant-container .files-list{display:flex;flex-direction:column;gap:12px}.ai-assistant-container .file-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s ease;cursor:pointer;min-width:0}.ai-assistant-container .file-item:hover{background:#f8fafc;border-color:#5eb6e4;box-shadow:0 2px 8px rgba(0,68,204,.1);transform:translateX(4px)}.ai-assistant-container .file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#f0f7ff,#e3f2ff);border-radius:10px;color:#04c;flex-shrink:0}.ai-assistant-container .file-info{flex:1;min-width:0;overflow:hidden}.ai-assistant-container .file-name{font-size:14px;font-weight:500;color:#111827;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;width:100%}.ai-assistant-container .file-type{font-size:12px;color:#6b7280}.ai-assistant-container .file-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .2s ease;flex-shrink:0;opacity:0}.ai-assistant-container .file-item:hover .file-remove-btn{opacity:1}.ai-assistant-container .file-remove-btn:hover{background:#fee2e2;color:#dc2626;transform:scale(1.1)}.ai-assistant-container .files-panel-body::-webkit-scrollbar{width:6px}.ai-assistant-container .files-panel-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.ai-assistant-container .files-panel-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.ai-assistant-container .files-panel-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dark-mode .ai-assistant-container .uploaded-files-panel{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 8px 24px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3)}.dark-mode .ai-assistant-container .uploaded-files-panel:hover{box-shadow:0 16px 32px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.4);border-color:#60a5fa}.dark-mode .ai-assistant-container .files-panel-title{color:#60a5fa}.dark-mode .ai-assistant-container .files-panel-header{border-bottom-color:#475569}.dark-mode .ai-assistant-container .file-item{background:#1e293b;border-color:#334155}.dark-mode .ai-assistant-container .file-item:hover{background:#334155;border-color:#60a5fa}.dark-mode .ai-assistant-container .file-name{color:#f1f5f9}.dark-mode .ai-assistant-container .file-type{color:#94a3b8}.dark-mode .ai-assistant-container .file-icon{background:linear-gradient(135deg,#334155,#475569);color:#60a5fa}.dark-mode .ai-assistant-container .empty-files{color:#64748b}.dark-mode .ai-assistant-container .empty-files p{color:#94a3b8}.dark-mode .ai-assistant-container .files-panel-body::-webkit-scrollbar-track{background:#334155}.dark-mode .ai-assistant-container .files-panel-body::-webkit-scrollbar-thumb{background:#475569}.dark-mode .ai-assistant-container .files-panel-body::-webkit-scrollbar-thumb:hover{background:#64748b}.upload-progress-content{text-align:center;padding:10px 0}.progress-message{margin-bottom:15px;color:#606266;font-size:14px}.progress-count{margin-top:10px;color:#909399;font-size:12px}.el-dialog__wrapper{display:flex;align-items:center;justify-content:center}.dark-mode .progress-message{color:#cbd5e1}.dark-mode .progress-count{color:#94a3b8}.ai-assistant-container{height:100vh;overflow:hidden}.ai-assistant-container .main-content{height:calc(100vh - 64px);overflow-x:hidden;overflow-y:auto}.ai-assistant-container .main-layout{height:100%;overflow:hidden}.ai-assistant-container .content-wrapper{height:100%;overflow:hidden;flex:1;min-width:0;display:flex;flex-direction:column;margin-left:60px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.ai-assistant-container .chat-mode-content{height:100%;overflow:hidden;display:flex;gap:24px;flex:1;min-height:0}.ai-assistant-container .ai-chat-section{height:100%;display:flex;flex-direction:column;overflow:hidden}.ai-assistant-container .chat-container{flex:1;overflow-y:auto;min-height:0}.ai-assistant-container .uploaded-files-panel{height:100%;display:flex;flex-direction:column;overflow:hidden}.ai-assistant-container .files-panel-body{flex:1;overflow-y:auto;min-height:0}@media (max-width:1024px){.ai-assistant-container .chat-mode-content{flex-direction:column;height:auto;gap:12px}.ai-assistant-container .ai-chat-section{height:auto}.ai-assistant-container .uploaded-files-panel{height:auto;width:100%;border-radius:16px;box-shadow:0 4px 10px rgba(15,23,42,.08)}.ai-assistant-container .files-panel-body{max-height:32vh}}.ai-assistant-container .task-result-mode-content{display:flex;gap:24px;flex:1;min-height:0;align-items:stretch;height:100%;overflow:hidden}.ai-assistant-container .task-control-panel{width:320px;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:24px 22px;box-shadow:0 4px 12px rgba(0,0,0,.08);border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:20px;flex-shrink:0;height:100%;overflow:visible}.ai-assistant-container .control-header{border-bottom:2px solid #e5e7eb;padding-bottom:12px}.ai-assistant-container .control-title{margin:0 0 8px 0;font-size:20px;font-weight:700;background:linear-gradient(135deg,#04c,#5eb6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-assistant-container .control-subtitle{margin:0;font-size:13px;color:#64748b;line-height:1.5}.ai-assistant-container .control-item{display:flex;flex-direction:column;gap:10px}.ai-assistant-container .attachment-options{display:flex;flex-direction:column;gap:6px}.ai-assistant-container .attachment-switch{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#1f2937;cursor:pointer}.ai-assistant-container .attachment-switch input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:4px;border:2px solid #cbd5e1;display:inline-flex;align-items:center;justify-content:center;background:#fff;cursor:pointer;transition:all .2s ease}.ai-assistant-container .attachment-switch input[type=checkbox]:checked{border-color:#2563eb;background:#2563eb;box-shadow:0 0 0 1px rgba(37,99,235,.35)}.ai-assistant-container .attachment-switch input[type=checkbox]:checked:before{content:"";width:8px;height:8px;border-radius:2px;background:#fff}.ai-assistant-container .attachment-filters{padding:6px 10px;border-radius:10px;background:#f8fafc;border:1px dashed #e5e7eb}.ai-assistant-container .attachment-filters .filters-label{font-size:12px;color:#6b7280;margin-bottom:6px}.ai-assistant-container .attachment-filters .filters-list{display:flex;flex-direction:column;flex-wrap:nowrap;gap:6px;max-height:160px;overflow-y:auto;overflow-x:hidden;padding-right:4px}.ai-assistant-container .attachment-filters .filter-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#374151;cursor:pointer}.ai-assistant-container .attachment-filters .filter-item span{max-width:100%;word-break:break-all;white-space:normal}.ai-assistant-container .attachment-filters .filter-item input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;border-radius:4px;border:2px solid #d1d5db;display:inline-flex;align-items:center;justify-content:center;background:#fff;cursor:pointer;transition:all .2s ease}.ai-assistant-container .attachment-filters .filter-item input[type=checkbox]:checked{border-color:#3b82f6;background:#3b82f6;box-shadow:0 0 0 1px rgba(59,130,246,.35)}.ai-assistant-container .attachment-filters .filter-item input[type=checkbox]:checked:before{content:"";width:7px;height:7px;border-radius:2px;background:#fff}.ai-assistant-container .control-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1e293b;margin:0}.ai-assistant-container .control-label svg{color:#5eb6e4;flex-shrink:0}.ai-assistant-container .control-select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;font-weight:500;color:#1e293b;background:#fff;cursor:pointer;transition:all .3s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none}.ai-assistant-container .control-select:hover{border-color:#5eb6e4}.ai-assistant-container .control-select:focus{outline:none;border-color:#04c;box-shadow:0 0 0 3px rgba(0,68,204,.1)}.ai-assistant-container .control-select option{padding:10px 16px;font-size:14px;color:#1e293b;background:#fff;font-weight:500}.ai-assistant-container .control-select option:hover{background:#f0f9ff;color:#04c}.ai-assistant-container .control-select option:checked{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;font-weight:600}.ai-assistant-container .control-select option:disabled{color:#94a3b8;font-style:italic}.ai-assistant-container .control-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;font-weight:500;color:#1e293b;background:#fff;transition:all .3s ease;box-sizing:border-box}.ai-assistant-container .control-input::-moz-placeholder{color:#94a3b8;font-weight:400}.ai-assistant-container .control-input::placeholder{color:#94a3b8;font-weight:400}.ai-assistant-container .control-input:hover:not(:disabled){border-color:#5eb6e4}.ai-assistant-container .control-input:focus{outline:none;border-color:#04c;box-shadow:0 0 0 3px rgba(0,68,204,.1)}.ai-assistant-container .control-input:disabled{background:#f8f9fa;color:#94a3b8;cursor:not-allowed;border-color:#e5e7eb}.ai-assistant-container .control-select-wrapper{position:relative;width:100%;display:inline-flex}.ai-assistant-container .control-select.control-select--enhanced{padding-right:44px}.ai-assistant-container .control-select-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#64748b;display:flex;align-items:center;justify-content:center}.ai-assistant-container .control-select.control-select--enhanced:focus+.control-select-arrow{color:#04c}.ai-assistant-container .control-select.control-select--enhanced option{padding:8px 10px;font-size:13px}.ai-assistant-container .project-select{width:100%}.ai-assistant-container .project-select .vs__dropdown-toggle{padding:8px 16px;border-radius:12px;border:2px solid #e5e7eb;background:#fff;min-height:44px;box-shadow:none;transition:all .3s ease;overflow:hidden}.ai-assistant-container .project-select .vs__selected-options{padding:0;overflow:hidden}.ai-assistant-container .project-select .vs__selected{margin:0;padding:0;font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-assistant-container .project-select .vs__search::-moz-placeholder{color:#9ca3af}.ai-assistant-container .project-select .vs__search::placeholder{color:#9ca3af}.ai-assistant-container .project-select .vs__dropdown-toggle:hover{border-color:#5eb6e4}.ai-assistant-container .project-select .vs__dropdown-toggle.vs__dropdown-toggle--open,.ai-assistant-container .project-select .vs__dropdown-toggle:focus{border-color:#04c;box-shadow:0 0 0 3px rgba(0,68,204,.1)}.ai-assistant-container .project-select .vs__clear,.ai-assistant-container .project-select .vs__open-indicator{display:none}.ai-assistant-container .project-select .vs__dropdown-menu{border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 10px 25px rgba(15,23,42,.12);padding:4px 0;margin-top:6px;max-height:260px;overflow-y:auto;overflow-x:hidden}.ai-assistant-container .project-select .vs__dropdown-option{padding:8px 14px;font-size:13px;color:#1f2933;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-assistant-container .project-select .vs__dropdown-option--highlight{background:#f0f7ff;color:#04c}.ai-assistant-container .project-select .vs__dropdown-option--selected{background:#e5f0ff;color:#04c}.ai-assistant-container .control-task-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:#fff;color:#04c;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.ai-assistant-container .control-task-btn:hover:not(:disabled){background:#f0f7ff;border-color:#5eb6e4;transform:translateY(-2px)}.ai-assistant-container .control-task-btn:disabled{background:#f8f9fa;color:#cbd5e1;cursor:not-allowed;border-color:#e5e7eb}.ai-assistant-container .selected-info{margin:0;font-size:13px;color:#64748b;text-align:center;padding:8px 12px;background:#f0f7ff;border-radius:8px}.ai-assistant-container .selected-info strong{color:#04c;font-weight:700}.ai-assistant-container .control-action{margin-top:auto;padding-top:20px;border-top:2px solid #e5e7eb;flex-shrink:0;display:flex;align-items:center;gap:10px}.ai-assistant-container .control-generate-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,68,204,.3)}.ai-assistant-container .control-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#04c,#039);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,68,204,.4)}.ai-assistant-container .control-generate-btn:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none;transform:none}.ai-assistant-container .control-cancel-btn{padding:10px 14px;border-radius:10px;border:1px solid #e5e7eb;background:#f8fafc;color:#4b5563;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .25s ease}.ai-assistant-container .control-cancel-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.ai-assistant-container .control-cancel-btn:active{transform:translateY(1px)}.ai-assistant-container .mode-sidebar{width:220px;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:0 16px 16px 0;padding:16px;box-shadow:0 4px 12px rgba(0,0,0,.08);border:1px solid #e5e7eb;border-left:none;display:flex;flex-direction:column;gap:8px;flex-shrink:0;height:-moz-fit-content;height:fit-content;position:fixed;left:0;top:120px;transform:translateX(-176px);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:100}.ai-assistant-container .mode-sidebar:hover{transform:translateX(0);box-shadow:0 8px 24px rgba(0,0,0,.15)}.ai-assistant-container .mode-sidebar:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60px;background:linear-gradient(135deg,#5eb6e4,#04c);border-radius:0 4px 4px 0;transition:height .3s ease}.ai-assistant-container .mode-sidebar:hover:before{height:80px}.ai-assistant-container .mode-nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:15px;font-weight:500;color:#64748b;text-align:left;width:100%}.ai-assistant-container .mode-nav-item svg{flex-shrink:0;color:inherit}.ai-assistant-container .mode-nav-item span{flex:1}.ai-assistant-container .mode-nav-item:hover{background:linear-gradient(135deg,#f0f7ff,#e3f2ff);color:#04c;transform:translateX(4px)}.ai-assistant-container .mode-nav-item.active{background:linear-gradient(135deg,#5eb6e4,#04c);color:#fff;box-shadow:0 4px 12px rgba(0,68,204,.3);transform:translateX(4px)}.ai-assistant-container .mode-nav-item.active:hover{background:linear-gradient(135deg,#04c,#039)}.ai-assistant-container .markdown-content{font-size:14px;line-height:1.8;color:#1e293b}.ai-assistant-container .markdown-content h1,.ai-assistant-container .markdown-content h2,.ai-assistant-container .markdown-content h3{margin-top:24px;margin-bottom:12px;font-weight:700;color:#0f172a}.ai-assistant-container .markdown-content h1{font-size:24px;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.ai-assistant-container .markdown-content h2{font-size:20px}.ai-assistant-container .markdown-content h3{font-size:18px}.ai-assistant-container .markdown-content p{margin:12px 0}.ai-assistant-container .markdown-content ol,.ai-assistant-container .markdown-content ul{margin:12px 0;padding-left:24px}.ai-assistant-container .markdown-content li{margin:6px 0}.ai-assistant-container .markdown-content code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;color:#ef4444}.ai-assistant-container .markdown-content pre{background:#1e293b;color:#f1f5f9;padding:16px;border-radius:8px;overflow-x:auto;margin:16px 0}.ai-assistant-container .markdown-content pre code{background:transparent;color:inherit;padding:0}.ai-assistant-container .markdown-content blockquote{border-left:4px solid #5eb6e4;padding-left:16px;margin:16px 0;color:#64748b;font-style:italic}.ai-assistant-container .markdown-content table{width:100%;border-collapse:collapse;margin:16px 0}.ai-assistant-container .markdown-content td,.ai-assistant-container .markdown-content th{border:1px solid #e5e7eb;padding:8px 12px;text-align:left}.ai-assistant-container .markdown-content th{background:#f8fafc;font-weight:600}.ai-assistant-container .task-content-panel{flex:1;min-width:0;display:flex;flex-direction:column;gap:24px;overflow-y:auto;padding-right:8px;height:100%}.ai-assistant-container .task-content-panel::-webkit-scrollbar{width:6px}.ai-assistant-container .task-content-panel::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.ai-assistant-container .task-content-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.ai-assistant-container .task-content-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ai-assistant-container .content-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:16px}.ai-assistant-container .content-section .section-header{display:flex;align-items:center;justify-content:space-between}.ai-assistant-container .content-section .section-title svg{color:#5eb6e4}.ai-assistant-container .content-section .section-title .task-count{font-size:14px;font-weight:500;color:#64748b;margin-left:4px}.ai-assistant-container .result-section .section-actions{display:inline-flex;align-items:center;gap:8px}.ai-assistant-container .result-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;font-size:12px;color:#4b5563;cursor:pointer;transition:all .25s ease}.ai-assistant-container .result-action-btn svg{color:#64748b}.ai-assistant-container .result-action-btn:hover{border-color:#5b6bff;color:#1d4ed8;box-shadow:0 2px 6px rgba(37,99,235,.18)}.ai-assistant-container .result-action-btn.primary{border-color:#5b6bff;background:linear-gradient(135deg,#5b6bff,#4a5bff);color:#fff}.ai-assistant-container .result-action-btn.primary svg{color:#fff}.ai-assistant-container .content-section .task-count{color:#5eb6e4;font-weight:700}.ai-assistant-container .clear-all-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid #fecaca;border-radius:8px;color:#ef4444;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.ai-assistant-container .clear-all-btn:hover{background:#fee2e2;border-color:#ef4444}.ai-assistant-container .section-body{flex:1}.ai-assistant-container .tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.ai-assistant-container .tasks-grid .task-item{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;background:linear-gradient(135deg,#fff,#f8fafb);border:2px solid #e5e7eb;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.04);min-height:120px}.ai-assistant-container .tasks-grid .task-item:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#5eb6e4;box-shadow:0 8px 24px rgba(94,182,228,.15);transform:translateY(-2px)}.ai-assistant-container .task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.ai-assistant-container .task-title{font-size:14px;font-weight:600;color:#1e293b;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;padding-right:30px;margin-bottom:4px}.ai-assistant-container .task-meta{display:flex;flex-direction:column;gap:6px;margin-top:auto}.ai-assistant-container .meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:#64748b;padding:3px 8px;background:rgba(148,163,184,.08);border-radius:6px;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-assistant-container .meta-item:hover{background:rgba(94,182,228,.12);color:#04c}.ai-assistant-container .meta-item svg{color:#94a3b8;flex-shrink:0}.ai-assistant-container .remove-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:6px;background:rgba(239,68,68,.08);border:none;color:#ef4444;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6}.ai-assistant-container .remove-btn svg{width:12px;height:12px}.ai-assistant-container .remove-btn:hover{background:#ef4444;color:#fff;transform:scale(1.15) rotate(90deg);opacity:1;box-shadow:0 3px 10px rgba(239,68,68,.4)}.ai-assistant-container .remove-btn:active{transform:scale(.95) rotate(90deg)}.ai-assistant-container .content-textarea{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;font-family:inherit;color:#1e293b;background:#fff;resize:none;min-height:100px;transition:all .3s ease;line-height:1.6}.ai-assistant-container .content-textarea:hover{border-color:#5eb6e4}.ai-assistant-container .content-textarea:focus{outline:none;border-color:#04c;box-shadow:0 0 0 3px rgba(0,68,204,.1)}.ai-assistant-container .content-textarea::-moz-placeholder{color:#cbd5e1}.ai-assistant-container .content-textarea::placeholder{color:#cbd5e1}.ai-assistant-container .result-section{min-height:auto}.ai-assistant-container .result-body{min-height:160px}.ai-assistant-container .result-content{padding:16px 18px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 6px rgba(15,23,42,.03)}.ai-assistant-container .editor-container{width:100%;height:100%;min-height:300px}.ai-assistant-container .markdown-editor{width:100%;min-height:400px;padding:16px 18px;border:2px solid #e5e7eb;border-radius:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier New,monospace;font-size:14px;line-height:1.7;color:#1e293b;background:#fff;resize:vertical;transition:all .3s ease}.ai-assistant-container .markdown-editor:hover{border-color:#5eb6e4}.ai-assistant-container .markdown-editor:focus{outline:none;border-color:#04c;box-shadow:0 0 0 3px rgba(0,68,204,.1)}.ai-assistant-container .markdown-editor::-moz-placeholder{color:#cbd5e1;font-style:italic}.ai-assistant-container .markdown-editor::placeholder{color:#cbd5e1;font-style:italic}.ai-assistant-container .empty-state-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#cbd5e1;text-align:center;min-height:200px}.ai-assistant-container .empty-state-inline svg{margin-bottom:12px;opacity:.5}.ai-assistant-container .empty-state-inline p{margin:0;font-size:14px;color:#94a3b8}@media (max-width:1200px){.ai-assistant-container .task-result-mode-content{flex-direction:column;overflow-y:auto;height:auto}.ai-assistant-container .task-control-panel{width:100%;position:static;height:auto;flex-shrink:0}.ai-assistant-container .task-content-panel{max-height:none;height:auto;flex-shrink:0}}@media (max-width:768px){.ai-assistant-container .task-result-mode-content{gap:16px;padding-bottom:20px;overflow-y:visible!important;overflow-x:hidden;height:auto!important;min-height:auto!important}.ai-assistant-container .task-control-panel{padding:16px 14px;gap:16px;overflow:visible!important;height:auto!important}.ai-assistant-container .control-header{padding-bottom:12px;margin-bottom:0}.ai-assistant-container .task-content-panel{overflow-y:visible!important;overflow-x:hidden;height:auto!important}.ai-assistant-container .control-title{font-size:18px;margin-bottom:6px}.ai-assistant-container .control-subtitle{font-size:12px}.ai-assistant-container .control-item{gap:8px}.ai-assistant-container .control-label{font-size:13px}.ai-assistant-container .control-generate-btn,.ai-assistant-container .control-task-btn{padding:10px 16px;font-size:13px;min-height:40px}.ai-assistant-container .selected-info{font-size:12px;margin-top:4px}.ai-assistant-container .task-content-panel{gap:16px;padding-right:0}.ai-assistant-container .content-section{padding:16px;border-radius:12px;min-height:300px}.ai-assistant-container .section-title{font-size:14px}.ai-assistant-container .section-body{min-height:200px}.ai-assistant-container .tasks-grid{grid-template-columns:1fr;gap:12px;min-height:150px}.ai-assistant-container .task-item{padding:12px}.ai-assistant-container .task-title{font-size:13px}.ai-assistant-container .task-meta{font-size:11px}.ai-assistant-container .content-textarea{padding:12px;font-size:13px;min-height:120px;max-height:none}.ai-assistant-container .result-section{min-height:400px}.ai-assistant-container .result-body{min-height:300px}.ai-assistant-container .result-content{font-size:13px}.ai-assistant-container .markdown-content{font-size:13px;line-height:1.6}.ai-assistant-container .empty-state-inline{min-height:150px;padding:40px 20px}.ai-assistant-container .empty-state-inline svg{width:48px;height:48px}.ai-assistant-container .empty-state-inline p{font-size:13px}.attachments-panel{margin-top:16px;border:1px solid #e8e8e8;border-radius:4px;background:#fff;overflow:hidden;.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f5f7fa;border-bottom:1px solid #e8e8e8;h4{margin:0;font-size:14px;font-weight:500;color:#333}}.attachment-list{max-height:300px;overflow-y:auto;.attachment-item{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:background-color .2s;&:hover{background-color:#f5f7fa}&.is-selected{background-color:#f0f7ff}.el-checkbox,.file-icon{margin-right:8px}.file-icon{color:#606266}.file-name{flex:1;margin:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:12px;color:#909399;margin-right:8px}}.no-attachments{padding:20px;text-align:center;color:#909399;font-size:14px}}}.upload-progress{padding:20px;.progress-message{margin-top:10px;text-align:center;color:#606266;font-size:14px}}}.achievement-info-bar[data-v-00c2790e]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f3f4f6;border-radius:8px;margin-bottom:16px}.back-btn[data-v-00c2790e]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;cursor:pointer;transition:all .2s}.back-btn[data-v-00c2790e]:hover{background:#f9fafb;border-color:#9ca3af}.achievement-name[data-v-00c2790e]{flex:1;font-size:15px;font-weight:600;color:#111827}.file-size-badge[data-v-00c2790e]{padding:2px 8px;background:#e5e7eb;border-radius:4px;font-size:12px;color:#6b7280}html.dark-mode .achievement-info-bar[data-v-00c2790e]{background:#1f2937}html.dark-mode .back-btn[data-v-00c2790e]{background:#374151;border-color:#4b5563;color:#e5e7eb}html.dark-mode .back-btn[data-v-00c2790e]:hover{background:#4b5563;border-color:#6b7280}html.dark-mode .achievement-name[data-v-00c2790e]{color:#f3f4f6}html.dark-mode .file-size-badge[data-v-00c2790e]{background:#374151;color:#9ca3af}.composer-loading[data-v-00c2790e]{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:#2563eb}.composer-loading .spinner[data-v-00c2790e]{width:16px;height:16px;border:2px solid #c7d2fe;border-top-color:#2563eb;border-radius:50%;animation:spin-00c2790e .8s linear infinite}@keyframes spin-00c2790e{to{transform:rotate(1turn)}}.profile-container{min-height:100vh;background-color:#f8f9fa;display:flex;flex-direction:column}.profile-container .top-header{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #e9ecef;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.1);z-index:1000}.profile-container .header-left{display:flex;align-items:center;gap:16px}.profile-container .back-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease;margin-right:8px}.profile-container .back-btn:hover{background-color:#f8f9fa;color:#333}.profile-container .menu-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.profile-container .menu-btn:hover{background-color:#f8f9fa}.profile-container .page-title{font-size:18px;font-weight:600;color:#333;line-height:1;margin:0;padding:0;display:inline-flex;align-items:center;transform:translateY(-1px)}.profile-container .header-right{display:flex;align-items:center;position:relative}.profile-container .user-profile{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .3s ease}.profile-container .user-profile:hover{background-color:#f8f9fa}.profile-container .user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center}.profile-container .user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-container .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#666}.profile-container .username{font-weight:500;color:#333}.profile-container .user-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid #e9ecef;min-width:160px;z-index:9999;animation:fadeIn .2s ease-out}.profile-container .menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .3s ease;font-size:14px;color:#333}.profile-container .menu-item:hover{background-color:#f8f9fa}.profile-container .menu-item:first-child{border-radius:8px 8px 0 0}.profile-container .menu-item:last-child{border-radius:0 0 8px 8px}.profile-container .menu-item svg{color:#666}.profile-container .rotate{transform:rotate(180deg);transition:transform .3s ease}.profile-container .main-content{flex:1;margin-top:64px;padding:40px 24px;background-color:#f8f9fa;display:flex;flex-direction:column;align-items:center}.profile-container .profile-content{width:100%;max-width:1600px;padding:0 40px;margin:0 auto}.profile-container .profile-title{font-size:24px;font-weight:600;color:#2c3e50;margin:0 0 32px 0;text-align:left}.profile-container .info-card{background:#fff;border-radius:12px;padding:32px 32px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.1);border:none;width:100%;text-align:left}.profile-container .info-card h3,.profile-container .info-card p{text-align:left;margin-left:0;margin-right:auto}.links-container{margin-top:10px}.link-list{display:flex;flex-direction:column;gap:8px}.link-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.link-text{color:#2563eb;font-weight:600;text-decoration:none;word-break:break-all}.link-text:hover{text-decoration:underline}.link-url{color:#6b7280;font-size:12px;word-break:break-all;flex:1}.link-remove-btn{border:none;background:transparent;color:#9ca3af;cursor:pointer;font-size:14px;transition:color .2s ease}.link-remove-btn:hover{color:#ef4444}.link-add-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:12px}.link-input{border:1px solid #e5e7eb;border-radius:8px;padding:10px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.link-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.add-link-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;padding:0 16px;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease}.add-link-btn:hover{box-shadow:0 8px 20px rgba(37,99,235,.2);transform:translateY(-1px)}.add-link-btn:disabled{background:#93c5fd;cursor:not-allowed;box-shadow:none}.link-empty{padding:10px 12px;color:#9ca3af;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:8px;font-size:14px}.profile-container .avatar-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.profile-container .avatar-container{position:relative;cursor:pointer;transition:transform .2s ease}.profile-container .avatar-container:hover{transform:scale(1.05)}.profile-container .avatar-image{width:80px;height:80px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:none}.profile-container .avatar-section .avatar-placeholder{width:80px;height:80px;border-radius:50%;background-color:#e9ecef;display:flex;align-items:center;justify-content:center;color:#6c757d;border:none}.profile-container .camera-icon{position:absolute;bottom:0;right:0;width:24px;height:24px;background-color:#007bff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2)}.profile-container .nickname-section{display:block}.profile-container .nickname-display-container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;position:relative;width:100%}.profile-container .nickname-info{display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:center;grid-column:2}.profile-container .nickname-display{font-size:20px;font-weight:600;color:#2c3e50;padding:8px 16px;display:inline-block}.profile-container .user-id-display{font-size:14px;font-weight:400;color:#6c757d;background-color:#f8f9fa;padding:4px 12px;border-radius:12px;border:1px solid #e9ecef;display:inline-block}.profile-container .edit-nickname-btn{background:none;border:none;color:#6c757d;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;opacity:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;grid-column:3;justify-self:end}.profile-container .nickname-display-container:hover .edit-nickname-btn{opacity:1}.profile-container .edit-nickname-btn:hover{background-color:#f8f9fa;color:#007bff}.profile-container .nickname-edit{display:flex;flex-direction:column;align-items:center;gap:12px}.profile-container .nickname-input{font-size:20px;font-weight:600;color:#2c3e50;border:2px solid #007bff;border-radius:6px;padding:8px 16px;outline:none;width:200px;text-align:center}.profile-container .nickname-actions{display:flex;gap:8px}.profile-container .intro-section-inline{margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef;width:100%}.profile-container .intro-content-wrapper,.profile-container .intro-display-inline{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.profile-container .intro-content-inline{font-size:14px;line-height:1.6;color:#495057;white-space:pre-wrap;word-wrap:break-word;margin:0;padding:0;transition:all .3s ease;text-align:center}.profile-container .intro-content-inline.intro-collapsed{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:4.8em}.profile-container .intro-toggle-btn{display:inline-flex;align-items:center;gap:4px;margin-top:8px;background:none;border:none;color:#007bff;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;font-family:inherit}.profile-container .intro-toggle-btn:hover{background-color:#f0f7ff;color:#0056b3}.profile-container .intro-toggle-btn svg{transition:transform .3s ease}.profile-container .intro-toggle-btn svg.rotated{transform:rotate(180deg)}.profile-container .edit-intro-btn-inline{margin-top:12px;background:none;border:none;color:#6c757d;cursor:pointer;padding:6px 12px;border-radius:4px;transition:all .2s ease;opacity:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:13px}.profile-container .edit-intro-btn-inline svg{width:14px;height:14px}.profile-container .intro-display-inline:hover .edit-intro-btn-inline{opacity:1}.profile-container .edit-intro-btn-inline:hover{background-color:#f8f9fa;color:#007bff}.profile-container .intro-edit-inline{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.profile-container .intro-textarea-inline{width:100%;max-width:500px;min-height:100px;padding:12px;border:2px solid #007bff;border-radius:6px;font-size:14px;line-height:1.6;resize:vertical;outline:none;font-family:inherit;color:#2c3e50;background-color:#fff}.profile-container .intro-textarea-inline:focus{border-color:#0056b3;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.profile-container .intro-textarea-inline::-moz-placeholder{color:#adb5bd}.profile-container .intro-textarea-inline::placeholder{color:#adb5bd}.profile-container .intro-actions-inline{display:flex;gap:8px;justify-content:center}.profile-container .cancel-btn-small,.profile-container .save-btn-small{width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.profile-container .save-btn-small{background-color:#28a745;color:#fff}.profile-container .save-btn-small:hover{background-color:#1e7e34;transform:scale(1.1)}.profile-container .cancel-btn-small{background-color:#dc3545;color:#fff}.profile-container .cancel-btn-small:hover{background-color:#c82333;transform:scale(1.1)}.profile-container .info-item{width:100%;text-align:left}.profile-container .info-label{font-size:16px;font-weight:600;color:#2c3e50;margin:0 0 16px 0;text-align:left}.profile-container .info-value{font-size:14px;color:#6c757d;margin:0;line-height:1.8;text-align:left;min-height:24px}.profile-container .intro-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;text-align:left}.profile-container .intro-header h3{text-align:left;margin:0 auto 0 0}.profile-container .edit-btn{display:flex;align-items:center;gap:6px;background-color:#007bff;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.profile-container .edit-btn:hover{background-color:#0056b3}.profile-container .intro-edit{width:100%}.profile-container .intro-textarea{width:100%;min-height:160px;padding:16px;border:2px solid #e9ecef;border-radius:6px;font-size:14px;line-height:1.8;resize:vertical;outline:none;font-family:inherit}.profile-container .intro-textarea:focus{border-color:#007bff}.profile-container .organization-input{min-height:40px;height:40px;resize:none;line-height:1.5}.profile-container .organization-edit-container{display:flex;align-items:center;gap:8px;width:100%}.profile-container .organization-edit-container .organization-input{flex:1}.profile-container .organization-actions{display:flex;gap:8px;flex-shrink:0}.profile-container .intro-actions{display:flex;gap:12px;margin-top:12px}.profile-container .save-btn{background-color:#28a745;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.profile-container .save-btn:hover{background-color:#1e7e34}.profile-container .cancel-btn{background-color:#6c757d;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.profile-container .cancel-btn:hover{background-color:#545b62}.profile-container .intro-content{line-height:1.8;white-space:pre-wrap;min-height:80px;padding:16px 0}.profile-container .login-prompt-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.profile-container .login-prompt-card .info-label{color:#fff;font-size:18px;font-weight:600}.profile-container .login-prompt-card .info-value{color:hsla(0,0%,100%,.9);margin-bottom:16px}.profile-container .login-btn{display:flex;align-items:center;gap:8px;background:#fff;color:#667eea;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.profile-container .login-btn:hover{background:#f8f9fa;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.profile-container .modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.profile-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:400px;width:90%;max-height:90vh;overflow:hidden}.profile-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px}.profile-container .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.profile-container .modal-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280;transition:all .2s ease}.profile-container .modal-close:hover{background:#f3f4f6;color:#374151}.profile-container .modal-body{padding:20px 24px}.profile-container .modal-body p{margin:0;font-size:16px;color:#374151;line-height:1.5}.profile-container .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 20px}.profile-container .modal-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.profile-container .modal-btn-cancel{background:#f3f4f6;color:#374151}.profile-container .modal-btn-cancel:hover{background:#e5e7eb}.profile-container .modal-btn-confirm{background:#3b82f6;color:#fff}.profile-container .modal-btn-confirm:hover{background:#2563eb}.profile-container .login-btn svg{color:#667eea}.profile-container .success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;z-index:9999;animation:profile-fadeInOut 1s ease-in-out;pointer-events:none}@keyframes profile-fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.profile-container .avatar-crop-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:10000;pointer-events:all}.profile-container .avatar-crop-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.3);max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease-out}.profile-container .avatar-crop-modal-header{padding:20px 24px 16px;text-align:center;border-bottom:1px solid #e5e7eb}.profile-container .avatar-crop-modal-header h3{margin:0 0 8px 0;font-size:18px;font-weight:600;color:#333}.profile-container .avatar-crop-hint{margin:0;color:#666;font-size:14px}.profile-container .avatar-crop-modal-body{padding:20px;display:flex;justify-content:center}.profile-container .avatar-crop-container{position:relative;display:inline-block}.profile-container .avatar-crop-canvas{display:block;border:2px solid #e5e7eb;border-radius:8px}.profile-container .avatar-crop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.profile-container .avatar-crop-selection{position:absolute;border:2px solid #3b82f6;background:rgba(59,130,246,.1);cursor:move;pointer-events:all;border-radius:50%}.profile-container .avatar-crop-selection:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:1px dashed rgba(59,130,246,.5);border-radius:50%}.profile-container .avatar-resize-handle{position:absolute;width:8px;height:8px;background:#3b82f6;border:2px solid #fff;border-radius:50%;cursor:pointer;z-index:10}.profile-container .avatar-resize-handle-se{bottom:-4px;right:-4px;cursor:se-resize}.profile-container .avatar-crop-modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:center;border-top:1px solid #e5e7eb}.profile-container .btn-cancel,.profile-container .btn-confirm{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.profile-container .btn-cancel{background:#f5f5f5;color:#666}.profile-container .btn-cancel:hover{background:#e8e8e8}.profile-container .btn-confirm{background:#007bff;color:#fff}.profile-container .btn-confirm:hover{background:#0056b3}.dark-mode .profile-container{background-color:#0f172a}.dark-mode .profile-container .top-header{background:#1e293b;border-bottom-color:#334155}.dark-mode .profile-container .page-title{color:#f1f5f9}.dark-mode .profile-container .menu-btn{color:#cbd5e1}.dark-mode .profile-container .menu-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .profile-container .main-content{background-color:#0f172a}.dark-mode .profile-container .info-card,.dark-mode .profile-container .profile-card{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .info-card{box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2)}.dark-mode .profile-container .avatar-section .avatar-placeholder{background-color:#334155;color:#94a3b8}.dark-mode .profile-container .camera-icon{border-color:#1e293b}.dark-mode .profile-container .intro-content{color:#94a3b8}.dark-mode .profile-container .intro-section-inline{border-top-color:#475569}.dark-mode .profile-container .intro-content-inline{color:#cbd5e1}.dark-mode .profile-container .intro-toggle-btn{color:#60a5fa}.dark-mode .profile-container .intro-toggle-btn:hover{background-color:#1e293b;color:#93c5fd}.dark-mode .profile-container .edit-intro-btn-inline{color:#94a3b8}.dark-mode .profile-container .edit-intro-btn-inline:hover{background-color:#334155;color:#60a5fa}.dark-mode .profile-container .intro-textarea-inline{background-color:#1e293b;border-color:#475569;color:#cbd5e1}.dark-mode .profile-container .intro-textarea-inline:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.1)}.dark-mode .profile-container .intro-textarea-inline::-moz-placeholder{color:#64748b}.dark-mode .profile-container .intro-textarea-inline::placeholder{color:#64748b}.dark-mode .profile-container .edit-btn{background:#334155;border-color:#475569;color:#60a5fa}.dark-mode .profile-container .edit-btn:hover{background:#475569;border-color:#60a5fa;color:#60a5fa}.dark-mode .profile-container .intro-textarea{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .intro-textarea::-moz-placeholder{color:#64748b}.dark-mode .profile-container .intro-textarea::placeholder{color:#64748b}.dark-mode .profile-container .cancel-btn,.dark-mode .profile-container .save-btn{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .save-btn:hover{background:#475569;border-color:#60a5fa;color:#60a5fa}.dark-mode .profile-container .cancel-btn:hover{background:#475569;border-color:#64748b;color:#cbd5e1}.dark-mode .profile-container .login-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent;color:#fff}.dark-mode .profile-container .login-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af)}.dark-mode .profile-container .form-label{color:#cbd5e1}.dark-mode .profile-container .btn,.dark-mode .profile-container .form-input,.dark-mode .profile-container .form-textarea{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .btn:hover{background:#475569;border-color:#60a5fa;color:#60a5fa}.dark-mode .profile-container .btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent}.dark-mode .profile-container .modal-overlay{background-color:rgba(0,0,0,.8)}.dark-mode .profile-container .modal-content{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .avatar-crop-modal-content{background:#1e293b;border-color:#475569}.dark-mode .profile-container .avatar-crop-selection{border-color:#60a5fa;background:rgba(96,165,250,.2)}.dark-mode .profile-container .back-btn{color:#cbd5e1}.dark-mode .profile-container .back-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .profile-container .user-menu{background:#1e293b;border-color:#475569;box-shadow:0 4px 12px rgba(0,0,0,.5)}.dark-mode .profile-container .menu-item{color:#f1f5f9}.dark-mode .profile-container .menu-item:hover{background-color:#334155}.dark-mode .profile-container .menu-item svg{color:#94a3b8}.dark-mode .profile-container .profile-title,.dark-mode .profile-container .username{color:#f1f5f9}.dark-mode .profile-container .info-label{color:#cbd5e1}.dark-mode .profile-container .info-value{color:#94a3b8}.dark-mode .profile-container .nickname-display{color:#f1f5f9}.dark-mode .profile-container .user-id-display{background-color:#334155;color:#94a3b8;border-color:#475569}.dark-mode .profile-container .edit-nickname-btn{color:#94a3b8}.dark-mode .profile-container .edit-nickname-btn:hover{background-color:#334155;color:#60a5fa}.dark-mode .profile-container .nickname-input{color:#f1f5f9;background:#334155;border-color:#475569}.dark-mode .profile-container .btn-cancel{background:#334155;color:#cbd5e1}.dark-mode .profile-container .btn-cancel:hover{background:#475569;color:#f1f5f9}.profile-container .two-factor-card{background:#fff;border-radius:12px;padding:32px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.profile-container .two-factor-content{display:flex;flex-direction:column;gap:20px}.profile-container .two-factor-status{display:flex;flex-direction:column;gap:12px}.profile-container .two-factor-status-info{display:flex;align-items:center;gap:12px}.profile-container .two-factor-status-label{font-size:14px;color:#6c757d;font-weight:500}.profile-container .two-factor-status-value{font-size:14px;font-weight:600;padding:4px 12px;border-radius:12px}.profile-container .two-factor-status-value.enabled{background-color:#d4edda;color:#155724}.profile-container .two-factor-status-value.disabled{background-color:#f8d7da;color:#721c24}.profile-container .two-factor-description{font-size:14px;color:#6c757d;line-height:1.6;margin:0}.profile-container .two-factor-actions{display:flex;gap:12px}.profile-container .two-factor-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.profile-container .two-factor-btn:disabled{opacity:.6;cursor:not-allowed}.profile-container .two-factor-btn-enable{background-color:#28a745;color:#fff}.profile-container .two-factor-btn-enable:hover:not(:disabled){background-color:#218838;transform:translateY(-1px);box-shadow:0 2px 8px rgba(40,167,69,.3)}.profile-container .two-factor-btn-disable{background-color:#dc3545;color:#fff}.profile-container .two-factor-btn-disable:hover:not(:disabled){background-color:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px rgba(220,53,69,.3)}.profile-container .two-factor-modal-content{max-width:600px;width:90%}.profile-container .two-factor-setup-content{display:flex;flex-direction:column;gap:24px}.profile-container .two-factor-steps{display:flex;flex-direction:column;gap:16px}.profile-container .step-item{display:flex;gap:16px;padding:16px;border-radius:8px;background-color:#f8f9fa;transition:all .3s ease}.profile-container .step-item.active{background-color:#e7f3ff;border:1px solid #007bff}.profile-container .step-number{width:32px;height:32px;border-radius:50%;background-color:#dee2e6;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.profile-container .step-item.active .step-number{background-color:#007bff;color:#fff}.profile-container .step-content{flex:1}.profile-container .step-content h4{margin:0 0 4px 0;font-size:16px;font-weight:600;color:#2c3e50}.profile-container .step-content p{margin:0;font-size:14px;color:#6c757d;line-height:1.5}.profile-container .two-factor-qr-section{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background-color:#f8f9fa;border-radius:8px}.profile-container .qr-code-container{padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.profile-container .qr-code-image{width:200px;height:200px;display:block}.profile-container .qr-code-hint{font-size:14px;color:#6c757d;text-align:center;margin:0}.profile-container .two-factor-verify-section{display:flex;flex-direction:column;gap:8px}.profile-container .two-factor-input-label{font-size:14px;font-weight:600;color:#2c3e50}.profile-container .two-factor-code-input{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:6px;font-size:18px;font-weight:600;letter-spacing:4px;text-align:center;outline:none;transition:border-color .2s ease}.profile-container .two-factor-code-input:focus{border-color:#007bff}.profile-container .two-factor-input-hint{font-size:12px;color:#6c757d;margin:0}.profile-container .two-factor-disable-content{display:flex;flex-direction:column;gap:20px}.profile-container .two-factor-disable-warning{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:14px;line-height:1.6;margin:0}.profile-container .two-factor-disable-warning svg{flex-shrink:0;margin-top:2px}.dark-mode .profile-container .two-factor-card{background:#1e293b;border-color:#475569}.dark-mode .profile-container .two-factor-status-value.enabled{background-color:#1e4620;color:#81c784}.dark-mode .profile-container .two-factor-status-value.disabled{background-color:#4a1f1f;color:#e57373}.dark-mode .profile-container .two-factor-description{color:#94a3b8}.dark-mode .profile-container .step-item{background-color:#334155}.dark-mode .profile-container .step-item.active{background-color:#1e3a5f;border-color:#60a5fa}.dark-mode .profile-container .step-number{background-color:#475569;color:#94a3b8}.dark-mode .profile-container .step-item.active .step-number{background-color:#3b82f6;color:#fff}.dark-mode .profile-container .step-content h4{color:#f1f5f9}.dark-mode .profile-container .step-content p{color:#94a3b8}.dark-mode .profile-container .two-factor-qr-section{background-color:#334155}.dark-mode .profile-container .qr-code-container{background-color:#1e293b}.dark-mode .profile-container .qr-code-hint{color:#94a3b8}.dark-mode .profile-container .two-factor-input-label{color:#cbd5e1}.dark-mode .profile-container .two-factor-code-input{background-color:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .two-factor-code-input:focus{border-color:#60a5fa}.dark-mode .profile-container .two-factor-input-hint{color:#94a3b8}.dark-mode .profile-container .two-factor-disable-warning{background-color:#4a3a1f;border-color:#f59e0b;color:#fbbf24}@media (max-width:1200px){.profile-container .profile-content{padding:0 24px}}@media (max-width:768px){.profile-container .profile-content{padding:0 16px}.profile-container .intro-section-inline{margin-top:16px;padding-top:16px}.profile-container .intro-textarea-inline{max-width:100%}.profile-container .edit-intro-btn-inline{opacity:1}.profile-container .two-factor-modal-content{max-width:95%}.profile-container .qr-code-image{width:160px;height:160px}.profile-container .two-factor-steps{gap:12px}.profile-container .step-item{padding:12px}}.profile-container .oauth2-bindings{display:flex;flex-direction:column;gap:12px}.profile-container .oauth2-binding-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;transition:all .3s ease}.profile-container .oauth2-binding-item:hover{background:#f1f3f5;border-color:#dee2e6}.profile-container .oauth2-binding-info{display:flex;align-items:center;gap:12px;flex:1}.profile-container .oauth2-icon{flex-shrink:0;width:24px;height:24px}.profile-container .oauth2-icon.github-icon{color:#24292e}.profile-container .oauth2-icon.orcid-icon{color:#a6ce39}.profile-container .oauth2-binding-text{display:flex;flex-direction:column;gap:4px;flex:1}.profile-container .oauth2-binding-label{font-weight:600;font-size:14px;color:#333}.profile-container .oauth2-binding-status{display:flex;align-items:center;gap:8px}.profile-container .status-badge{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.profile-container .status-badge.bound{background:#d4edda;color:#155724}.profile-container .status-badge.unbound{background:#f8d7da;color:#721c24}.profile-container .binding-username{font-size:12px;color:#666}.profile-container .oauth2-bind-btn{padding:6px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease}.profile-container .oauth2-bind-btn.github-bind-btn{background:#24292e;color:#fff}.profile-container .oauth2-bind-btn.github-bind-btn:hover{background:#1b1f23;transform:translateY(-1px);box-shadow:0 2px 8px rgba(36,41,46,.2)}.profile-container .oauth2-bind-btn.orcid-bind-btn{background:#a6ce39;color:#fff}.profile-container .oauth2-bind-btn.orcid-bind-btn:hover{background:#8fb32a;transform:translateY(-1px);box-shadow:0 2px 8px rgba(166,206,57,.3)}.dark-mode .profile-container .oauth2-binding-item{background:#1e293b;border-color:#334155}.dark-mode .profile-container .oauth2-binding-item:hover{background:#334155;border-color:#475569}.dark-mode .profile-container .oauth2-binding-label{color:#f1f5f9}.dark-mode .profile-container .status-badge.bound{background:#14532d;color:#86efac}.dark-mode .profile-container .status-badge.unbound{background:#7f1d1d;color:#fca5a5}.dark-mode .profile-container .binding-username{color:#94a3b8}.dark-mode .profile-container .oauth2-bind-btn.github-bind-btn{background:#fff;color:#24292e}.dark-mode .profile-container .oauth2-bind-btn.github-bind-btn:hover{background:#f7fafc}.dark-mode .profile-container .oauth2-bind-btn.orcid-bind-btn{background:#a6ce39;color:#fff}.dark-mode .profile-container .oauth2-bind-btn.orcid-bind-btn:hover{background:#8fb32a}.profile-container .oauth2-bind-btn.orcid-sync-btn{background:#4a90e2;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-right:8px}.profile-container .oauth2-bind-btn.orcid-sync-btn:hover{background:#357abd;transform:translateY(-1px);box-shadow:0 2px 8px rgba(74,144,226,.3)}.profile-container .oauth2-binding-actions{display:flex;align-items:center;gap:8px}.profile-container .oauth2-unbind-btn{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease}.profile-container .oauth2-unbind-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 8px rgba(239,68,68,.2)}.dark-mode .profile-container .oauth2-unbind-btn{background:#dc2626;color:#fff}.dark-mode .profile-container .oauth2-unbind-btn:hover{background:#b91c1c;box-shadow:0 2px 8px rgba(220,38,38,.3)}.profile-container .account-delete-card{background:#fff;border-radius:12px;padding:32px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.1);border:1px solid #fee2e2}.profile-container .account-delete-label{color:#dc2626}.profile-container .account-delete-content{display:flex;flex-direction:column;gap:20px}.profile-container .account-delete-warning{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fef2f2;border-radius:8px;border-left:4px solid #dc2626}.profile-container .account-delete-warning .warning-icon{color:#dc2626;flex-shrink:0;margin-top:2px}.profile-container .account-delete-text{flex:1}.profile-container .account-delete-description{margin:0;color:#7f1d1d;font-size:14px;line-height:1.6}.profile-container .account-delete-actions{display:flex;justify-content:flex-end}.profile-container .account-delete-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.profile-container .account-delete-btn:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 8px rgba(220,38,38,.3)}.profile-container .account-delete-btn:disabled{opacity:.6;cursor:not-allowed}.profile-container .delete-account-modal-content{max-width:600px;width:90%}.profile-container .delete-account-header h3{color:#dc2626}.profile-container .delete-account-content{display:flex;flex-direction:column;gap:24px}.profile-container .delete-account-warning-box{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.profile-container .delete-warning-icon{color:#dc2626;flex-shrink:0;margin-top:2px}.profile-container .delete-account-warning-text{flex:1}.profile-container .delete-account-warning-title{margin:0 0 8px 0;color:#991b1b;font-size:16px;font-weight:600}.profile-container .delete-account-warning-description{margin:0 0 12px 0;color:#7f1d1d;font-size:14px;line-height:1.6}.profile-container .delete-account-warning-list{margin:0;padding-left:20px;color:#7f1d1d;font-size:14px;line-height:1.8}.profile-container .delete-account-warning-list li{margin-bottom:4px}.profile-container .delete-account-verify-section{display:flex;flex-direction:column;gap:12px}.profile-container .delete-account-input-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.profile-container .delete-account-verification-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;transition:border-color .2s ease}.profile-container .delete-account-verification-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}.profile-container .delete-account-input-hint{margin:0;font-size:12px;color:#6b7280;line-height:1.5}.profile-container .modal-btn-danger{background:#dc2626;color:#fff}.profile-container .modal-btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 2px 8px rgba(220,38,38,.3)}.profile-container .modal-btn-danger:disabled{opacity:.6;cursor:not-allowed}.dark-mode .profile-container .account-delete-card{background:#1e293b;border-color:#7f1d1d}.dark-mode .profile-container .account-delete-label{color:#fca5a5}.dark-mode .profile-container .account-delete-warning{background:#7f1d1d;border-left-color:#dc2626}.dark-mode .profile-container .account-delete-description,.dark-mode .profile-container .account-delete-warning .warning-icon{color:#fca5a5}.dark-mode .profile-container .account-delete-btn{background:#dc2626}.dark-mode .profile-container .account-delete-btn:hover:not(:disabled){background:#b91c1c}.dark-mode .profile-container .delete-account-header h3{color:#fca5a5}.dark-mode .profile-container .delete-account-warning-box{background:#7f1d1d;border-color:#991b1b}.dark-mode .profile-container .delete-account-warning-description,.dark-mode .profile-container .delete-account-warning-list,.dark-mode .profile-container .delete-account-warning-title,.dark-mode .profile-container .delete-warning-icon{color:#fca5a5}.dark-mode .profile-container .delete-account-input-label{color:#e2e8f0}.dark-mode .profile-container .delete-account-verification-input{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .delete-account-verification-input:focus{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.2)}.dark-mode .profile-container .delete-account-input-hint{color:#94a3b8}.dark-mode .profile-container .modal-btn-danger{background:#dc2626}.dark-mode .profile-container .modal-btn-danger:hover:not(:disabled){background:#b91c1c}.profile-container .orcid-sync-modal-content{max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column}.profile-container .orcid-sync-modal-body{flex:1;overflow-y:auto;padding:20px}.profile-container .orcid-sync-section{margin-bottom:24px}.profile-container .orcid-sync-section-title{font-size:16px;font-weight:600;color:#333;margin-bottom:16px;display:flex;align-items:center;gap:8px}.profile-container .orcid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.profile-container .loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}.profile-container .orcid-loading p{color:#666;font-size:14px}.profile-container .orcid-error{padding:20px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.profile-container .error-message{color:#dc2626;margin-bottom:12px;font-size:14px}.profile-container .btn-retry{padding:8px 16px;background:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease}.profile-container .btn-retry:hover{background:#357abd}.profile-container .orcid-info-display{display:flex;flex-direction:column;gap:20px}.profile-container .info-hint{color:#666;font-size:14px;line-height:1.6;padding:12px;background:#f8f9fa;border-radius:6px}.profile-container .privacy-hint{color:#856404;font-size:13px;line-height:1.6;padding:12px;background:#fff3cd;border-radius:6px;border:1px solid #ffeaa7}.profile-container .orcid-category{border:1px solid #e9ecef;border-radius:8px;padding:16px;background:#f8f9fa}.profile-container .category-title{font-size:15px;font-weight:600;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:8px}.profile-container .category-title svg{color:#4a90e2}.profile-container .empty-category{padding:20px;text-align:center;color:#999;font-size:14px}.profile-container .orcid-items-list{display:flex;flex-direction:column;gap:12px}.profile-container .orcid-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff;border-radius:6px;border:1px solid #e9ecef;gap:12px}.profile-container .orcid-item-content{flex:1}.profile-container .item-text{font-size:14px;color:#333;line-height:1.5}.profile-container .orcid-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.profile-container .bind-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;color:#333;cursor:pointer;min-width:140px}.profile-container .bind-select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px rgba(74,144,226,.1)}.profile-container .btn-bind{padding:6px 16px;background:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.profile-container .btn-bind:hover:not(:disabled){background:#357abd;transform:translateY(-1px);box-shadow:0 2px 8px rgba(74,144,226,.3)}.profile-container .btn-bind:disabled{opacity:.5;cursor:not-allowed}.profile-container .bind-success-list{display:flex;flex-direction:column;gap:8px}.profile-container .bind-success-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#d1fae5;border-radius:6px;border:1px solid #86efac;color:#065f46;font-size:13px}.profile-container .bind-success-item svg{color:#10b981;flex-shrink:0}.dark-mode .profile-container .orcid-sync-section-title{color:#f1f5f9}.dark-mode .profile-container .orcid-loading p{color:#94a3b8}.dark-mode .profile-container .orcid-error{background:#7f1d1d;border-color:#991b1b}.dark-mode .profile-container .error-message{color:#fca5a5}.dark-mode .profile-container .info-hint{background:#1e293b;color:#94a3b8}.dark-mode .profile-container .privacy-hint{background:#78350f;color:#fbbf24;border-color:#92400e}.dark-mode .profile-container .orcid-category{background:#1e293b;border-color:#334155}.dark-mode .profile-container .category-title{color:#f1f5f9}.dark-mode .profile-container .empty-category{color:#64748b}.dark-mode .profile-container .orcid-item{background:#0f172a;border-color:#334155}.dark-mode .profile-container .item-text{color:#f1f5f9}.dark-mode .profile-container .bind-select{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .profile-container .bind-success-item{background:#064e3b;border-color:#059669;color:#6ee7b7}.profile-container .email-notification-card{margin-top:16px}.profile-container .email-notification-content{padding:0}.profile-container .email-notification-switch{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-container .switch-text{font-size:14px;color:#333;font-weight:500}.profile-container .switch-label{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.profile-container .switch-input{opacity:0;width:0;height:0}.profile-container .switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.profile-container .switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.profile-container .switch-input:checked+.switch-slider{background-color:#007bff}.profile-container .switch-input:checked+.switch-slider:before{transform:translateX(20px)}.profile-container .switch-input:focus+.switch-slider{box-shadow:0 0 1px #007bff}.profile-container .email-notification-modal-content{max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.profile-container .email-notification-modal-body{overflow-y:auto;max-height:calc(80vh - 120px)}.profile-container .email-notification-description{background-color:#f8f9fa;border-left:4px solid #007bff;padding:12px 16px;margin-bottom:20px;border-radius:4px}.profile-container .email-notification-description p{margin:0;color:#666;font-size:14px;line-height:1.5}.profile-container .scenes-title{font-size:15px;font-weight:600;color:#333;margin-bottom:16px}.profile-container .scenes-list{display:flex;flex-direction:column;gap:12px}.profile-container .scene-checkbox-label{display:flex;align-items:center;padding:12px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff}.profile-container .scene-checkbox-label:hover{border-color:#007bff;background-color:#f8f9ff}.profile-container .scene-checkbox{margin-right:12px;width:18px;height:18px;cursor:pointer;accent-color:#007bff}.profile-container .scene-checkbox-text{display:flex;flex-direction:column;flex:1}.profile-container .scene-name{font-size:14px;color:#333;font-weight:500;margin-bottom:4px}.profile-container .scene-module{font-size:12px;color:#999}.profile-container .scenes-loading{text-align:center;padding:40px;color:#999}.profile-container .scene-checkbox:checked+.scene-checkbox-text .scene-name{color:#007bff;font-weight:600}.dark-mode .profile-container .switch-text{color:#f1f5f9}.dark-mode .profile-container .switch-slider{background-color:#475569}.dark-mode .profile-container .switch-input:checked+.switch-slider{background-color:#60a5fa}.dark-mode .profile-container .email-notification-description{background-color:#334155;border-left-color:#60a5fa}.dark-mode .profile-container .email-notification-description p{color:#cbd5e1}.dark-mode .profile-container .scenes-title{color:#f1f5f9}.dark-mode .profile-container .scene-checkbox-label{border-color:#475569;background-color:#1e293b}.dark-mode .profile-container .scene-checkbox-label:hover{border-color:#60a5fa;background-color:#334155}.dark-mode .profile-container .scene-name{color:#f1f5f9}.dark-mode .profile-container .scene-module,.dark-mode .profile-container .scenes-loading{color:#94a3b8}.dark-mode .profile-container .scene-checkbox:checked+.scene-checkbox-text .scene-name{color:#60a5fa}.profile-grid{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start;animation:fadeInUp .6s ease-out}.profile-left-column,.profile-right-column{display:flex;flex-direction:column;gap:20px}.profile-left-column .info-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s ease;position:relative;animation:fadeInLeft .5s ease-out backwards}.profile-left-column .info-card:first-child{animation-delay:.1s}.profile-left-column .info-card:nth-child(2){animation-delay:.2s}.profile-left-column .info-card:nth-child(3){animation-delay:.3s}.profile-left-column .info-card:nth-child(4){animation-delay:.4s}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.profile-left-column .info-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-2px)}.profile-right-column .info-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s ease;animation:fadeInRight .5s ease-out backwards}.profile-right-column .info-card:first-child{animation-delay:.2s}.profile-right-column .info-card:nth-child(2){animation-delay:.3s}.profile-right-column .info-card:nth-child(3){animation-delay:.4s}.profile-right-column .info-card:nth-child(4){animation-delay:.5s}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.profile-right-column .info-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}.profile-right-column .info-label{font-size:18px;font-weight:700;color:#111827;margin-bottom:4px;letter-spacing:-.02em}.profile-right-column .intro-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f3f4f6}.profile-right-column .edit-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.profile-right-column .edit-btn:hover{background:#2563eb;transform:translateY(-1px)}@media (max-width:1200px){.profile-grid{gap:24px}}@media (max-width:992px){.profile-grid{grid-template-columns:1fr;gap:20px}.profile-left-column{position:static}}.research-tags-container{margin-top:12px}.empty-tags{padding:24px;text-align:center;color:#9ca3af;background:#f9fafb;border-radius:8px;border:1px dashed #d1d5db}.tags-list{display:flex;flex-wrap:wrap;gap:10px}.research-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#3b82f6;color:#fff;border-radius:20px;font-size:14px;font-weight:500;transition:all .2s ease}.research-tag:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 8px rgba(59,130,246,.3)}.tag-hierarchy{font-size:12px;opacity:.9;padding-right:6px;border-right:1px solid hsla(0,0%,100%,.3)}.tag-name{font-weight:600}.tag-remove-btn{background:hsla(0,0%,100%,.2);border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff}.tag-remove-btn:hover{background:hsla(0,0%,100%,.3);transform:scale(1.1)}.tag-modal-content{max-width:900px;width:95%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.tag-modal-body{flex:1;display:flex;flex-direction:column;min-height:0}.tag-modal-scroll-area{flex:1;overflow-y:auto;padding-right:4px;overscroll-behavior:contain}.modal-hint{color:#6b7280;font-size:14px;padding:12px;background:#f0f9ff;border-left:3px solid #3b82f6;border-radius:4px}.modal-hint,.tag-search{margin-bottom:16px}.tag-search-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .3s ease}.tag-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.tag-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:8px 12px;background:#f9fafb;border-radius:6px;font-size:14px}.breadcrumb-item{display:flex;align-items:center;gap:4px;color:#3b82f6;cursor:pointer;transition:color .2s ease}.breadcrumb-item:hover{color:#2563eb;text-decoration:underline}.tag-selection-area{min-height:200px;margin-bottom:16px}.custom-tag-suggestion{text-align:center;padding:32px;background:#f9fafb;border-radius:8px;border:1px dashed #d1d5db}.btn-add-custom{margin-top:12px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-custom:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-add-custom:disabled{opacity:.5;cursor:not-allowed}.custom-tag-note{margin-top:12px;font-size:12px;color:#f59e0b}.preset-tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.preset-tag-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative}.preset-tag-item:hover:not(.disabled){border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 8px rgba(59,130,246,.1)}.preset-tag-item.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.preset-tag-item.disabled{opacity:.5;cursor:not-allowed}.preset-tag-name{flex:1;font-size:14px;font-weight:500}.tag-arrow{color:#9ca3af;flex-shrink:0}.preset-tag-item.selected .tag-arrow{color:hsla(0,0%,100%,.8)}.tag-checkmark{color:#fff;flex-shrink:0}.selected-tags-section{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.selected-tags-section h4{font-size:14px;font-weight:600;color:#374151;margin-bottom:12px}.selected-tags-list{display:flex;flex-wrap:wrap;gap:8px}.selected-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:20px;font-size:13px;color:#374151}.selected-tag-remove{background:none;border:none;padding:2px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.selected-tag-remove:hover{background:#e5e7eb;color:#ef4444}.achievements-container{margin-top:12px}.empty-achievements{padding:24px;text-align:center;color:#9ca3af;background:#f9fafb;border-radius:8px;border:1px dashed #d1d5db}.achievements-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.achievement-item{display:flex;flex-direction:row;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .3s ease}.achievement-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateX(4px)}.achievement-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#eff6ff;border-radius:8px;color:#3b82f6}.achievement-info{flex:1;min-width:0}.achievement-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-meta{font-size:13px;color:#6b7280;margin:0}.achievements-more-wrapper{margin-top:16px;display:flex;justify-content:center}.achievements-more-btn{padding:8px 16px;border-radius:9999px;border:1px solid #d1d5db;background:#f9fafb;color:#374151;font-size:14px;cursor:pointer;transition:all .2s ease}.achievements-more-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.achievement-remove-btn{flex-shrink:0;background:none;border:none;padding:6px;cursor:pointer;color:#9ca3af;border-radius:4px;transition:all .2s ease}.achievement-remove-btn:hover{background:#fee2e2;color:#ef4444}.achievement-modal-content{max-width:960px;width:95%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.achievement-modal-content .modal-body{flex:1;padding-bottom:16px;overflow-y:auto}.achievement-search{margin-bottom:12px}.achievement-search-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .3s ease}.achievement-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.project-filter{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px}.project-filter label{font-size:14px;font-weight:500;color:#374151;white-space:nowrap}.project-filter-select{position:relative;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:all .2s ease;max-width:260px;width:100%;box-sizing:border-box}.project-filter-select:focus{outline:none;border-color:#3b82f6}.project-filter-selected-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-filter-arrow{margin-left:8px;display:flex;align-items:center;justify-content:center;color:#9ca3af}.project-filter-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:#fff;border-radius:8px;box-shadow:0 10px 25px rgba(15,23,42,.12);border:1px solid #e5e7eb;max-height:260px;overflow-y:auto;z-index:10}.project-filter-option{padding:10px 12px;font-size:14px;color:#374151;cursor:pointer;transition:all .15s ease}.project-filter-option:hover{background:#f3f4f6}.project-filter-option.active{background:#eff6ff;color:#1d4ed8;font-weight:600}.achievements-selection-area{min-height:300px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#9ca3af}.loading-spinner{margin-bottom:12px}.empty-achievements-state{padding:48px;text-align:center;color:#9ca3af;background:#f9fafb;border-radius:8px;border:1px dashed #d1d5db}.achievements-selection-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;padding-right:4px}.achievement-selection-item{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .3s ease}.achievement-selection-item:hover{border-color:#3b82f6;transform:translateX(4px);box-shadow:0 2px 8px rgba(59,130,246,.1)}.achievement-selection-item.selected{background:#eff6ff;border-color:#3b82f6}.achievement-selection-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:8px;color:#6b7280}.achievement-selection-item.selected .achievement-selection-icon{background:#eff6ff;color:#3b82f6}.achievement-selection-info{flex:1;min-width:0}.achievement-selection-info h4{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-selection-info p{font-size:13px;color:#6b7280;margin:0}.achievement-checkmark{flex-shrink:0;color:#3b82f6}.privacy-settings-list{display:flex;flex-direction:column;gap:16px;margin-top:12px}.privacy-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.privacy-row:last-child{border-bottom:none;padding-bottom:0}.privacy-row-label{font-size:14px;font-weight:500;color:#374151}.privacy-row-select{min-width:160px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#111827;cursor:pointer;transition:all .2s ease}.privacy-row-select:hover{border-color:#9ca3af}.privacy-row-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dark-mode .privacy-row{border-bottom:1px solid #374151}.dark-mode .privacy-row:last-child{border-bottom:none}.dark-mode .privacy-row-label{color:#e5e7eb;font-weight:600}.dark-mode .privacy-row-select{background:#1f2937;border-color:#475569;color:#e5e7eb}.dark-mode .privacy-row-select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.25)}@media (max-width:768px){.preset-tags-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.achievement-modal-content,.tag-modal-content{width:95%;max-height:90vh}.privacy-row{flex-direction:column;align-items:flex-start;gap:8px}.privacy-row-select{width:100%}}.email-notification-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s ease}.email-notification-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}.email-notification-content{margin-top:20px}.email-notification-description{margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.email-notification-description p{margin:0;color:#555;font-size:14px;line-height:1.6}.email-notification-switch{margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:8px}.switch-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-input{position:absolute;opacity:0;width:0;height:0}.switch-slider{position:relative;display:inline-block;width:48px;height:24px;background-color:#ccc;transition:background-color .3s ease;margin-right:12px;flex-shrink:0}.switch-slider:before{top:2px;transition:transform .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.switch-input:checked+.switch-slider{background-color:#667eea}.switch-input:checked+.switch-slider:before{transform:translateX(24px)}.switch-text{font-size:16px;font-weight:600;color:#333}.email-notification-scenes{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.scenes-title{margin:0 0 16px 0;font-size:14px;font-weight:600;color:#555}.scenes-list{display:flex;flex-direction:column;gap:12px}.scene-checkbox-label{display:flex;align-items:center;cursor:pointer;padding:12px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scene-checkbox-label:hover{background:#f0f0f0;border-color:#667eea}.scene-checkbox-label:has(.scene-checkbox:checked){background:#f0f4ff;border-color:#667eea}.scene-checkbox{width:18px;height:18px;margin-right:12px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.scene-checkbox-text{display:flex;flex-direction:column;gap:4px;flex:1}.scene-name{font-size:14px;font-weight:500;color:#333}.scene-module{font-size:12px;color:#999;text-transform:uppercase}.scenes-loading{text-align:center;padding:20px;color:#999}.dark-mode .email-notification-card{background:#1f2937;box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark-mode .email-notification-description{background:#374151;border-left-color:#667eea}.dark-mode .email-notification-description p{color:#e5e7eb}.dark-mode .email-notification-switch{background:#374151}.dark-mode .switch-text{color:#e5e7eb}.dark-mode .email-notification-scenes{background:#374151;border-color:#475569}.dark-mode .scene-checkbox-label{background:#1f2937;border-color:#475569}.dark-mode .scene-checkbox-label:hover{background:#374151;border-color:#667eea}.dark-mode .scene-checkbox-label:has(.scene-checkbox:checked){background:#1e3a5f;border-color:#667eea}.dark-mode .scene-name{color:#e5e7eb}.dark-mode .scene-module{color:#9ca3af}.dark-mode .scenes-title{color:#e5e7eb}.dark-mode .scenes-loading{color:#9ca3af}@media (max-width:768px){.email-notification-card{padding:20px}.scenes-list{gap:8px}.scene-checkbox-label{padding:10px}}.role-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:18px;border:1px solid transparent;white-space:nowrap}.role-badge.owner{background:#f1f5ff;color:#1d4ed8;border-color:#bfdbfe}.role-badge.admin{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.role-badge.member{background:#f8f9fa;color:#6c757d;border-color:#e9ecef}.admin-only{display:none}.project-detail-container.is-admin .admin-only{display:inline-flex}.section-actions .btn.admin-action{display:inline-flex;align-items:center;gap:6px}.project-detail-container:not(.is-admin) .remove-member-btn{display:none}.btn.admin-action{background:#0ea5e9;border-color:#0ea5e9;color:#fff}.btn.admin-action:hover{background:#0284c7;border-color:#0284c7}.dropdown-item.make-admin{color:#047857;font-weight:600}.dropdown-item.remove-admin{color:#b45309;font-weight:600}.member-card.invite-card{display:none}.project-detail-container.is-admin .member-card.invite-card{display:flex}.btn.disabled,.btn[disabled]{opacity:.6;cursor:not-allowed}.dark-mode .role-badge.owner{background:rgba(59,130,246,.2);color:#93c5fd;border-color:#3b82f6}.dark-mode .role-badge.admin{background:rgba(16,185,129,.2);color:#6ee7b7;border-color:#10b981}.dark-mode .role-badge.member{background:#334155;color:#94a3b8;border-color:#475569}.dark-mode .btn.admin-action{background:#0284c7;border-color:#0284c7;color:#fff}.dark-mode .btn.admin-action:hover{background:#0369a1;border-color:#0369a1}.project-detail-container{min-height:100vh;background-color:#f8f9fa;display:flex;flex-direction:column}.top-header{background:#fff;border-bottom:1px solid #e9ecef;padding:0 24px;box-shadow:0 1px 3px rgba(0,0,0,.1);z-index:1000}.back-btn{padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.back-btn:hover{background-color:#f8f9fa}.page-title{font-size:18px;font-weight:600;color:#333}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .3s ease;font-size:14px;color:#333}.menu-item:hover{background-color:#f8f9fa}.main-content{flex:1;padding:70px 24px 28px;display:flex;flex-direction:column;gap:32px}.project-card{background:#fff;border:1px solid #e9ecef;border-radius:16px;padding:24px;margin-top:16px;margin-bottom:20px!important;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:box-shadow .3s ease}.project-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.project-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f0f0f0}.project-body{display:grid;grid-template-columns:2fr 280px;gap:20px;align-items:start}@media (max-width:1024px){.project-body{grid-template-columns:1fr;gap:24px}.project-image-container{height:240px;max-width:100%}.project-header-top{flex-direction:column;align-items:flex-start;gap:16px}.project-actions{width:100%;justify-content:flex-start}}.project-info{min-width:0}.project-image-section{flex-shrink:0;display:flex;flex-direction:column;justify-content:flex-start}.project-image-container{position:relative;width:100%;height:auto;aspect-ratio:4/3;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .3s ease,box-shadow .3s ease}.project-image-container:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.project-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.project-image-placeholder{color:#d9d9d9}.project-image-overlay,.project-image-placeholder{display:flex;align-items:center;justify-content:center}.project-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);flex-direction:column;gap:8px;cursor:pointer;opacity:0;transition:opacity .3s ease}.project-image-container:hover .project-image-overlay{opacity:1}.project-image-overlay svg{color:#fff}.project-image-overlay span{color:#fff;font-size:14px;font-weight:500}.project-title{font-size:28px;font-weight:700;color:#1a1a1a;margin:0;line-height:1.3;background:linear-gradient(135deg,#2563eb,#1e40af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-flex;align-items:center;gap:8px}.project-title .dashboard-btn{margin-left:12px;height:28px;line-height:28px;padding:0 10px;border-radius:14px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;-webkit-text-fill-color:#1d4ed8;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(29,78,216,.15)}.project-title .dashboard-btn:hover{background:#dbeafe;transform:translateY(-1px);box-shadow:0 6px 16px rgba(29,78,216,.25)}.project-meta-top{margin-bottom:4px}.project-meta-bottom,.project-meta-top{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px;align-items:start}.project-meta-bottom{margin-top:4px}@media (max-width:1200px){.project-meta-bottom,.project-meta-top{grid-template-columns:1fr;gap:12px}.project-meta-bottom{margin-top:24px}}.meta-item{display:flex;align-items:flex-start;gap:8px;padding:6px 6px;border-bottom:none;transition:background-color .2s ease;border-radius:6px;margin:0}.meta-item:hover{background-color:#fafafa}.meta-item:last-child{border-bottom:none}.tags-container{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #bbdefb}.meta-label{color:#64748b;font-size:14px;font-weight:600;min-width:80px;flex-shrink:0}.meta-value{color:#1e293b;font-size:14px;line-height:1.6;flex:1}.description-item{flex-direction:column;gap:8px}.description-content,.description-item{align-items:flex-start;padding:0;margin:0}.description-content{display:flex;gap:0;width:100%;flex:1;word-wrap:break-word;word-break:break-all;white-space:pre-wrap;font-weight:500;font-size:13px}.expand-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s ease;flex-shrink:0;margin-left:4px;margin-top:0}.expand-btn:hover{color:#3b82f6;background:#f1f5ff;border-radius:4px}.expand-btn svg{transition:transform .2s ease}.expand-btn.expanded svg{transform:rotate(180deg)}.manager-info{gap:8px;flex:1}.manager-avatar,.manager-info{display:flex;align-items:center}.manager-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;font-weight:600}.manager-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.manager-avatar.placeholder{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.manager-name{color:#1e293b;font-size:14px;line-height:1.6}.info-actions{display:flex;gap:12px;margin-top:34px}.info-actions .btn,.info-actions a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;line-height:18px;border:1px solid transparent}.status-badge.planning{background:#f8f9fa;color:#6c757d;border-color:#dee2e6}.status-badge.ongoing{background:#d4edda;color:#155724;border-color:#c3e6cb}.status-badge.paused{background:#fff3cd;color:#856404;border-color:#ffeaa7}.status-badge.completed{background:#d1ecf1;color:#0c5460;border-color:#bee5eb}.status-badge.cancelled{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.project-actions{display:flex;gap:12px;flex-shrink:0}.section-card{background:#fff;border:1px solid #e9ecef}.section-title{font-size:20px;color:#1e293b;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#1e293b!important;background-clip:unset!important}.section-actions{display:flex;gap:12px;align-items:center}.apply-join-btn{height:36px;padding:0 14px;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.apply-join-btn:hover{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8;box-shadow:0 2px 8px rgba(37,99,235,.25);transform:translateY(-1px)}.apply-join-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn{height:40px;padding:0 16px;border-radius:8px;border:1px solid #e0e0e0;background:#fff;color:#333;display:flex;transition:all .2s ease}.btn:hover{background:#f8f9fa}.btn.primary{background:#5b6bff;border-color:#5b6bff;color:#fff}.btn.primary:hover{background:#4c5ce6}.btn.secondary{background:#f8f9ff;border-color:#e0e0e0}.btn.secondary:hover{background:#eef1ff}.dropdown-menu{top:calc(100% + 6px);min-width:120px;box-shadow:0 8px 20px rgba(0,0,0,.08);z-index:10}.dropdown-item{padding:10px 12px;font-size:14px;color:#333}.dropdown-item:hover{background:#f8f9fa}.dropdown-item.active{color:#5b6bff;background:#eef1ff}.task-grid{display:flex;flex-wrap:nowrap;gap:12px;justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.task-empty-state{display:flex;align-items:center;justify-content:center;min-height:200px;background:#f8f9fa;border:2px dashed #e9ecef;border-radius:12px;padding:40px 20px}.empty-state-content{text-align:center;max-width:400px}.empty-state-icon{margin-bottom:16px;opacity:.6}.empty-state-title{font-size:18px;font-weight:600;color:#495057;margin:0 0 8px 0}.empty-state-message{font-size:14px;color:#6c757d;margin:0;line-height:1.5}.highlight-text{color:#5b6bff;font-weight:600}@media (max-width:500px){.task-grid{padding-bottom:4px}.task-empty-state{min-height:150px;padding:30px 15px}.empty-state-title{font-size:16px}.empty-state-message{font-size:13px}}.task-detail-modal{max-width:800px!important;width:90%!important}.task-detail-modal,.task-detail-modal+.modal-overlay,div[v-if*=taskDetailModalOpen] .modal-overlay{z-index:2100!important}.task-detail-body{max-height:60vh;overflow-y:auto;padding:20px}.task-detail-section{margin-bottom:20px}.task-detail-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#495057;margin-bottom:10px}.task-detail-label svg{color:#6b7280;flex-shrink:0}.task-detail-value{font-size:15px;color:#333;line-height:1.6}.task-description-scroll{max-height:200px;overflow-y:auto;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;white-space:pre-wrap;word-wrap:break-word}.task-priority-badge,.task-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.task-status-badge{background:#e5e7eb;color:#374151}.task-detail-header-content{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.task-detail-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-assignee-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.task-assignee-badge svg{flex-shrink:0;color:#0369a1}.task-title-section{margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.task-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.task-title-value{font-size:24px;font-weight:700;color:#111827;line-height:1.3;flex:1;min-width:0}.deadline-warning{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.deadline-warning.overdue{background:#fee2e2;color:#dc2626}.deadline-warning.near{background:#fef3c7;color:#d97706}.task-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.task-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;transition:all .2s ease}.task-info-card:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.task-info-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.task-info-icon.priority{background:linear-gradient(135deg,#f59e0b,#d97706)}.task-info-icon.status{background:linear-gradient(135deg,#3b82f6,#2563eb)}.task-info-icon.deadline{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.task-info-icon.creator{background:linear-gradient(135deg,#10b981,#059669)}.task-info-icon.assignee{background:linear-gradient(135deg,#06b6d4,#0891b2)}.task-info-content{flex:1;min-width:0}.task-info-label{font-size:12px;color:#6b7280;margin-bottom:6px;font-weight:500}.task-info-value{font-size:14px;color:#111827;font-weight:600}.task-status-badge.TODO,.task-status-badge.pending,.task-status-badge.待接取{background:#e5e7eb;color:#374151}.task-status-badge.IN_PROGRESS,.task-status-badge.inprogress,.task-status-badge.进行中{background:#dbeafe;color:#1e40af}.task-status-badge.BLOCKED,.task-status-badge.阻塞{background:#fee2e2;color:#dc2626}.task-status-badge.DONE,.task-status-badge.completed,.task-status-badge.完成{background:#d1fae5;color:#059669}.task-card.task-completed{opacity:.7;background:#f8f9fa;border-color:#dee2e6;position:relative}.task-card.task-completed:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(34,197,94,.05),rgba(34,197,94,.02));pointer-events:none;border-radius:8px}.task-card.task-completed .task-title{color:#6c757d;text-decoration:line-through}.task-card.task-completed .task-description{color:#adb5bd}.task-card.task-completed .task-actions button{opacity:.5;cursor:not-allowed}.task-card.task-completed .task-actions button:disabled{opacity:.4}.task-card.task-completed:hover{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.06);border-color:#dee2e6}.task-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px;position:relative;min-height:120px;display:flex;flex-direction:column;cursor:pointer;transition:all .2s ease;min-width:260px;max-width:320px}.task-card:hover{background:#e9ecef;border-color:#5b6bff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(91,107,255,.15)}.task-priority{background:#e9ecef;color:#6c757d;width:24px;height:24px;border-radius:50%;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;white-space:nowrap}.task-priority[class*=\9AD8]{background:#dc2626!important;color:#fff!important;font-weight:600}.task-priority[class*=\4E2D]{background:#d97706!important;color:#fff!important;font-weight:600}.task-priority[class*=\4F4E]{background:#059669!important;color:#fff!important;font-weight:600}.task-content{padding:0;min-height:0}.task-title{font-size:14px;color:#1e293b;margin:0 0 6px 0;flex-shrink:0;max-width:16em;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#1e293b!important;background-clip:unset!important}.task-description{font-size:12px;color:#6c757d;margin:0 0 8px 0;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:16em}.task-meta{flex-direction:column;gap:2px;margin-top:auto;font-size:11px;color:#6c757d;flex-shrink:0}.task-creator{color:#007bff;font-weight:500}.task-assignee{display:block;margin-top:4px}.task-assign-section{position:absolute;bottom:12px;right:12px}.assign-btn{background:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,123,255,.2)}.assign-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,123,255,.3)}.assign-status-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:500;background:#d1fae5;color:#059669;border:1px solid #6ee7b7;box-shadow:0 2px 4px rgba(5,150,105,.2)}.assign-status-badge.assigned-by-me{background:#d1fae5;color:#059669;border-color:#6ee7b7}.assign-status-badge.completed{background:#e8f5e9;color:#2e7d32;border-color:#81c784;box-shadow:0 2px 4px rgba(46,125,50,.2)}.upload-result-btn{background:#10b981;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(16,185,129,.2);display:inline-flex;align-items:center;gap:4px;margin-left:8px}.upload-result-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px rgba(16,185,129,.3)}.upload-result-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.task-assign-section{flex-wrap:wrap}.modal-content.upload-result-modal{max-width:800px!important;width:90%!important}.upload-result-info{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px}.upload-result-task-title{font-size:16px;font-weight:600;color:#333;margin:0 0 8px 0}.upload-result-task-description{font-size:14px;color:#666;margin:0;line-height:1.5}.result-textarea{min-height:120px;resize:vertical}.optional-text{color:#9ca3af;font-weight:400;font-size:12px}.image-upload-area{display:flex;align-items:center;gap:12px;margin-bottom:12px}.upload-image-btn{background:#f3f4f6;border:2px dashed #d1d5db;color:#6b7280;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.upload-image-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;color:#374151}.upload-image-btn:disabled{opacity:.5;cursor:not-allowed}.image-count{font-size:13px;color:#6b7280;font-weight:500}.image-preview-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:12px}.image-preview-item{position:relative;width:120px;height:120px;border-radius:8px;overflow:hidden;border:2px solid #e5e7eb;background:#f9fafb}.image-preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.remove-image-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;background:rgba(0,0,0,.6);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.remove-image-btn:hover{background:rgba(220,38,38,.8);transform:scale(1.1)}.task-item-assign{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-status{background:#e9ecef;color:#6c757d;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.task-status.暂停{background:#f8d7da;color:#721c24}.task-status.完成{background:#d1ecf1;color:#0c5460}.task-status-dropdown{position:relative;display:inline-block}.task-status-btn{background:#e9ecef;color:#6c757d;border:1px solid #dee2e6;border-radius:4px;padding:3px 6px;font-size:10px;cursor:pointer;display:flex;align-items:center;gap:2px;transition:all .2s ease;white-space:nowrap}.task-status-btn:hover{background:#dee2e6}.task-status-btn.暂停{background:#ffc107!important;color:#333!important;border-color:#ffc107!important;font-weight:600}.task-status-btn.完成{background:#059669!important;color:#fff!important;border-color:#28a745!important;font-weight:600}.task-status-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #dee2e6;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:10;min-width:80px}.status-option{display:block;width:100%;padding:6px 12px;border:none;background:#fff;color:#333;font-size:11px;cursor:pointer;text-align:left;transition:background-color .2s ease;font-weight:500}.status-option:hover{background:#f8f9fa}.status-option.active{background:#007bff;color:#fff}.status-option:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.status-option:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.dark-mode .task-status-menu{background:#1e293b;border-color:#334155;box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark-mode .status-option{background:#1e293b;color:#e5e7eb}.dark-mode .status-option:hover{background:#334155;color:#fff}.dark-mode .status-option.active{background:#04c;color:#fff}.task-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e9ecef}.task-actions{gap:4px}.task-assign-manager-btn{padding:3px;transition:all .3s ease;width:24px;height:24px;color:#28a745}.task-assign-manager-btn:hover{background:#d4edda;color:#155724}.task-delete-btn,.task-edit-btn{background:none;border:none;cursor:pointer;padding:3px;border-radius:4px;transition:all .3s ease;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.task-edit-btn{color:#007bff}.task-edit-btn:hover{background:#e3f2fd;color:#0056b3}.task-delete-btn{color:#dc3545}.task-delete-btn:hover{background:#f8d7da;color:#721c24}.task-date{font-size:12px;color:#6c757d}.task-status-btn.disabled,.task-status-btn:disabled{opacity:.6;cursor:not-allowed;background-color:#f3f4f6!important;color:#9ca3af!important}.task-status-btn.disabled:hover,.task-status-btn:disabled:hover{transform:none;filter:none;opacity:.6}.more-button-container{display:flex;justify-content:flex-start;margin-top:16px;padding-left:0}.assign-status-badge.task-full{background-color:#fef3c7;color:#92400e;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500}.task-participant-count{color:#6b7280;font-size:12px}.task-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.task-assign-section{display:flex;align-items:center;gap:8px;margin-top:12px;clear:both}.task-assignee-status{margin-top:12px;padding:12px;background-color:#f3f4f6;border-radius:6px;font-size:14px}.task-assignee-status .status-label{font-weight:500;color:#374151;margin-right:8px}.task-assignee-status .status-value{color:#6b7280}.task-assignee-status .status-count{color:#10b981;font-weight:500;margin-left:4px}.member-select-item.already-assigned{background-color:#f0fdf4;border-color:#86efac}.already-assigned-badge{display:inline-block;margin-left:8px;padding:2px 8px;color:#fff;border-radius:4px;font-size:11px}.already-assigned-badge,.btn-success{background-color:#10b981;font-weight:500}.btn-success{border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-success:hover{background-color:#059669;transform:translateY(-1px)}.btn-success:active{transform:translateY(0)}.text-success{color:#10b981;font-weight:600}.text-warning{color:#f59e0b;font-weight:600}.task-full-badge{background-color:#fef3c7;color:#92400e}.overdue-badge,.task-full-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.overdue-badge{background-color:#fee2e2;color:#991b1b}.task-info-icon.participants{background:linear-gradient(135deg,#10b981,#059669)}.task-info-icon.statistics{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.task-statistics-grid{display:flex;flex-direction:column;gap:6px}.stat-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.stat-label{color:#6b7280;font-weight:400}.stat-value{color:#1f2937;font-weight:600;font-size:14px}.task-info-card.clickable{cursor:pointer;transition:all .2s}.task-info-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.click-hint{margin-left:8px;font-size:11px;color:#9ca3af;font-weight:400}.statistics-modal{max-width:700px;max-height:85vh;overflow-y:auto}.statistics-modal-body{padding:24px}.statistics-task-title{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}.statistics-section{margin-bottom:24px}.statistics-section .section-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.statistics-section .section-header svg{color:#8b5cf6}.statistics-section .section-title{font-size:16px;font-weight:600;color:#374151;margin:0}.stats-overview{background-color:#f9fafb;border-radius:8px;padding:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{background-color:#fff;border-radius:8px;padding:16px;text-align:center;border:1px solid #e5e7eb;transition:all .2s}.stat-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.stat-card-label{font-size:12px;color:#6b7280;margin-bottom:8px;font-weight:500}.stat-card-value{font-size:28px;font-weight:700;color:#8b5cf6}.stat-card-value.approved{color:#10b981}.assignees-list{background-color:#f9fafb;border-radius:8px;padding:16px}.assignee-items{display:flex;flex-direction:column;gap:12px}.assignee-item{display:flex;align-items:center;gap:12px;padding:12px;background-color:#fff;border-radius:6px;border:1px solid #e5e7eb}.assignee-avatar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.assignee-avatar,.assignee-avatar-img{width:40px;height:40px;border-radius:50%;flex-shrink:0}.assignee-avatar-img{overflow:hidden;background-color:#f3f4f6}.assignee-avatar-img .avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.assignee-info{flex:1}.assignee-name{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:4px}.assignee-meta{display:flex;gap:12px;font-size:12px;color:#6b7280}.assignee-type{padding:2px 8px;background-color:#ddd6fe;color:#6d28d9;border-radius:4px;font-weight:500}.assignee-time{color:#9ca3af}.submission-details{background-color:#f9fafb;border-radius:8px;padding:16px}.submission-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.submission-meta .meta-item{display:flex;justify-content:space-between;align-items:center;font-size:14px}.submission-meta .meta-label{color:#6b7280;font-weight:500}.submission-meta .meta-value{color:#1f2937;font-weight:600}.status-approved{color:#10b981!important}.submission-content{margin-bottom:16px}.content-label{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.content-text{font-size:14px;color:#4b5563;line-height:1.6;background-color:#fff;padding:12px;border-radius:6px;border:1px solid #e5e7eb;white-space:pre-wrap}.submission-attachments{margin-top:16px}.attachment-list{display:flex;flex-direction:column;gap:8px}.attachment-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:#fff;border-radius:6px;border:1px solid #e5e7eb;transition:all .2s}.attachment-item:hover{background-color:#f3f4f6;border-color:#8b5cf6}.attachment-item svg{color:#8b5cf6;flex-shrink:0}.attachment-name{font-size:13px;color:#4b5563;text-decoration:none;flex:1}.attachment-name:hover{color:#8b5cf6;text-decoration:underline}.empty-state{padding:32px;color:#9ca3af;font-size:14px}.form-field-switch{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #f0f0f0;margin-top:8px}.switch-toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.switch-toggle input{opacity:0;width:0;height:0}.switch-slider{top:0;left:0;right:0;bottom:0;background-color:#e5e7eb;border-radius:24px}.switch-slider,.switch-slider:before{position:absolute;transition:all .3s ease}.switch-slider:before{content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1)}.switch-toggle input:checked+.switch-slider{background-color:#3b82f6}.switch-toggle input:checked+.switch-slider:before{transform:translateX(22px)}.switch-toggle input:focus+.switch-slider{box-shadow:0 0 0 2px rgba(59,130,246,.2)}.milestone-card{grid-column:span 2}.milestone-card .task-info-icon.milestone{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.milestone-content{justify-content:space-between;width:100%}.milestone-content,.milestone-switch-wrapper{display:flex;align-items:center}.milestone-status-text{font-size:14px;color:#6b7280;font-weight:500}.dropdown{position:relative;display:inline-block}.dropdown button{display:flex;align-items:center;gap:8px}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;margin-top:4px;overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f8f9fa}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item.active{background-color:#e3f2fd;color:#1976d2}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.assign-task-modal-overlay,.edit-task-modal-overlay,.task-detail-modal-overlay{z-index:3000!important}.claim-task-modal-overlay{z-index:3100!important}.assign-task-modal,.task-detail-modal,.task-modal{z-index:3001!important}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-title{font-size:18px;font-weight:600;color:#333;margin:0}.modal-close{background:none;border:none;color:#6c757d;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f8f9fa;color:#333}.modal-body{padding:24px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e9ecef;background:#f8f9fa;border-radius:0 0 12px 12px}.form-field{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-label .required-asterisk{color:#ef4444;margin-left:2px;font-weight:700}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.project-detail-container .btn-primary{background:#007bff;color:#fff}.project-detail-container .btn-primary:hover:not(:disabled){background:#0056b3}.project-detail-container .btn-primary:disabled{background:#6c757d;cursor:not-allowed}.project-detail-container .btn-secondary{background:#6c757d;color:#fff}.project-detail-container .btn-secondary:hover{background:#545b62}.loading-container{min-height:400px;padding:40px}.loading-spinner{border-top:4px solid #007bff;margin-bottom:20px}.loading-text{color:#666;font-size:16px;margin:0}.btn-sm{padding:6px 12px;font-size:12px}.btn-outline{background:transparent;color:#007bff;border:1px solid #007bff}.btn-outline:hover{background:#007bff;color:#fff}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800}.btn-danger{background:#dc3545;color:#fff;border:1px solid #dc3545}.btn-danger:hover{background:#c82333;border-color:#c82333}.btn-delete-icon{background:transparent;color:#dc3545;border:none;padding:6px;display:flex;align-items:center;justify-content:center}.btn-delete-icon:hover{background:#f8f9fa;color:#dc3545}.position-actions{display:flex;gap:8px;justify-content:flex-end}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.member-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;position:relative}.member-card.invite-card{border-style:dashed;border-color:#adb5bd}.member-avatar{width:48px;height:48px;border-radius:9999px;overflow:hidden;background:#eef2ff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.member-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.member-info{flex:1;min-width:0}.member-name{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px 0;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#1e293b!important;background-clip:unset!important}.member-role{font-size:12px;color:#6c757d;margin:0}.member-role-container{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.btn-set-admin{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-left:4px}.btn-set-admin:hover{background:#d1fae5;border-color:#6ee7b7;color:#065f46;transform:translateY(-1px);box-shadow:0 2px 4px rgba(4,120,87,.2)}.btn-set-admin:active{transform:translateY(0);box-shadow:none}.btn-set-admin svg{flex-shrink:0;width:14px;height:14px}.btn-remove-admin{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#fffbeb;color:#b45309;border:1px solid #fde68a;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-left:4px}.btn-remove-admin:hover{background:#fef3c7;border-color:#fcd34d;color:#92400e;transform:translateY(-1px);box-shadow:0 2px 4px rgba(180,83,9,.2)}.btn-remove-admin:active{transform:translateY(0);box-shadow:none}.btn-remove-admin svg{flex-shrink:0;width:14px;height:14px}.member-role-dropdown{position:relative;display:inline-block}.role-manage-btn{background:none;border:none;padding:4px 6px;cursor:pointer;color:#6c757d;display:inline-flex!important;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;opacity:.7;margin-left:4px;width:20px;height:20px;flex-shrink:0}.member-card:hover .role-manage-btn{opacity:1}.role-manage-btn:hover{background:#f0f0f0;color:#333}.role-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;min-width:160px;overflow:hidden}.role-dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f8f9fa;font-size:13px}.role-dropdown-menu .dropdown-item:last-child{border-bottom:none}.role-dropdown-menu .dropdown-item:hover{background-color:#f8f9fa}.role-dropdown-menu .dropdown-item.make-admin{color:#047857;font-weight:600}.role-dropdown-menu .dropdown-item.make-admin:hover{background-color:#ecfdf5}.role-dropdown-menu .dropdown-item.remove-admin{color:#b45309;font-weight:600}.role-dropdown-menu .dropdown-item.remove-admin:hover{background-color:#fffbeb}.role-dropdown-menu .dropdown-item svg{flex-shrink:0;width:16px;height:16px}.role-dropdown-menu .dropdown-item.disabled{opacity:.6;cursor:not-allowed}.role-dropdown-menu .dropdown-item.disabled:hover{background-color:transparent}.permission-hint{font-size:11px;color:#9ca3af;margin-left:auto;font-weight:400}.remove-member-btn{position:absolute;top:8px;right:8px;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#dc3545;opacity:0;transition:all .3s ease;display:flex;align-items:center;justify-content:center;z-index:10}.member-card:hover .remove-member-btn{opacity:1}.remove-member-btn:hover{background:#f8d7da;color:#721c24}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #5b6bff;margin-bottom:16px}.loading-container p{color:#6c757d;font-size:16px;margin:0}@media (max-width:768px){.project-header{flex-direction:column;align-items:stretch}.project-actions{justify-content:flex-start}.section-header{flex-direction:column;align-items:stretch;gap:12px}.section-actions{justify-content:flex-start}.project-title .dashboard-btn{white-space:nowrap;padding:0 12px;min-width:-moz-fit-content;min-width:fit-content}.filter-group,.status-filters,.type-filters{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:8px}.filter-group .filter-btn,.filter-group button,.status-filters .filter-btn,.status-filters button,.type-filters .filter-btn,.type-filters button{white-space:nowrap;flex-shrink:0}}.success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:500;z-index:9999;animation:fadeInOut 1s ease-in-out;pointer-events:none}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.error-message{color:#dc3545;font-size:12px;margin-top:4px;display:block}.invite-member-modal{max-width:600px;max-height:85vh}.search-section{margin-bottom:20px}.search-input-wrapper{display:flex;gap:8px;align-items:center}.search-input{flex:1}.search-btn{background:#007bff;color:#fff;border:none;border-radius:6px;padding:10px 20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:80px;height:42px}.search-btn:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,123,255,.3)}.search-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.loading-spinner-small{width:18px;height:18px;border:2px solid #fff;border-top:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.search-results{margin-top:20px;min-height:300px}.search-results-header{padding:8px 0;border-bottom:2px solid #e9ecef;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.results-count{font-size:14px;color:#6c757d;font-weight:500}.selected-count{font-size:14px;color:#007bff;font-weight:600;padding:4px 12px;background:#e3f2fd;border-radius:12px}.user-list{max-height:400px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding-top:4px;will-change:transform}.user-item{display:flex;align-items:center;padding:12px;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;background:#fff;min-height:64px;min-width:0;overflow:hidden}.user-item:hover{background:#f8f9fa;transform:translateY(-2px)}.user-item.user-selected,.user-item:hover{border-color:#007bff;box-shadow:0 2px 8px rgba(0,123,255,.15)}.user-item.user-selected{background:#e3f2fd}.user-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;margin-right:12px;background:#f8f9fa;display:flex;align-items:center;justify-content:center}.user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-avatar .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.user-info{flex:1;min-width:0}.user-name{font-size:15px;font-weight:600;color:#333;margin-bottom:4px}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:13px;color:#6c757d}.user-select-indicator{flex-shrink:0;margin-left:12px;animation:checkmark-appear .3s ease}@keyframes checkmark-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.load-more-container{display:flex;justify-content:center;padding:16px 0;margin-top:8px}.load-more-btn{background:#007bff;color:#fff;border:none;border-radius:6px;padding:10px 32px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.load-more-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,123,255,.3)}.empty-state p{color:#6c757d;margin:0}.search-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.search-hint svg{margin-bottom:16px;opacity:.4}.search-hint p{color:#6c757d;font-size:14px;margin:0}.user-list::-webkit-scrollbar{width:6px}.user-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.user-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.user-list::-webkit-scrollbar-thumb:hover{background:#999}.crop-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:10000;pointer-events:all}.crop-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.3);max-width:800px;width:90%;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.crop-modal-header{padding:20px 24px 16px;text-align:center;border-bottom:1px solid #e5e7eb}.crop-modal-header h3{margin:0 0 8px 0;font-size:18px;font-weight:600;color:#333}.crop-hint{margin:0;color:#666;font-size:14px}.crop-modal-body{padding:20px;display:flex;justify-content:center}.crop-container{position:relative;display:inline-block}.crop-canvas{display:block;border:2px solid #e5e7eb;border-radius:8px}.crop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.crop-selection{position:absolute;border:2px solid #3b82f6;background:rgba(59,130,246,.1);cursor:move;pointer-events:all;border-radius:4px}.crop-selection:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:1px dashed rgba(59,130,246,.5);border-radius:4px}.resize-handle{position:absolute;width:8px;height:8px;background:#3b82f6;border:2px solid #fff;border-radius:50%;cursor:pointer;z-index:10}.resize-handle-nw{top:-4px;left:-4px;cursor:nw-resize}.resize-handle-ne{top:-4px;right:-4px;cursor:ne-resize}.resize-handle-sw{bottom:-4px;left:-4px;cursor:sw-resize}.resize-handle-se{bottom:-4px;right:-4px;cursor:se-resize}.crop-modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:center;border-top:1px solid #e5e7eb}.btn-cancel,.btn-confirm{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e8e8e8}.btn-confirm{background:#007bff;color:#fff}.btn-confirm:hover{background:#0056b3}.task-assign-manager-btn{background:none;border:none;padding:6px;cursor:pointer;color:#17a2b8;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.task-assign-manager-btn:hover{background-color:rgba(23,162,184,.1);transform:scale(1.1)}.task-assign-manager-btn svg{width:14px;height:14px}.assign-task-modal{max-width:500px}.assign-task-info{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px}.assign-task-title{font-size:16px;font-weight:600;color:#333;margin:0 0 8px 0}.assign-task-description{font-size:14px;color:#666;margin:0;line-height:1.5}.member-select-list{max-height:300px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px;margin-top:8px}.member-select-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f0f0f0}.member-select-item:last-child{border-bottom:none}.member-select-item:hover{background-color:#f8f9fa}.member-select-item.selected{background-color:#e7f5ff;border-left:3px solid #007bff}.member-select-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;margin-right:12px;flex-shrink:0}.member-select-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.member-select-avatar .avatar-placeholder{width:100%;height:100%;background:#e9ecef;display:flex;align-items:center;justify-content:center;color:#6c757d}.member-select-info{flex:1}.member-select-name{font-size:14px;font-weight:500;color:#333;margin-bottom:4px}.member-select-role{font-size:12px;color:#6c757d}.member-select-indicator{margin-left:12px;flex-shrink:0}.empty-members-hint{text-align:center;padding:40px 20px;color:#6c757d}.empty-members-hint p{margin:0;font-size:14px}.dark-mode .project-detail-container{background-color:#0a0f1a}.dark-mode .project-detail-container .top-header{background:#1e293b;border-bottom-color:#334155}.dark-mode .project-detail-container .page-title{color:#f1f5f9}.dark-mode .project-detail-container .back-btn{color:#cbd5e1}.dark-mode .project-detail-container .back-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .project-detail-container .main-content{background-color:#0a0f1a}.dark-mode .project-detail-container .project-card{background:#1e293b;border-color:#475569;color:#f1f5f9;box-shadow:0 4px 12px rgba(0,0,0,.3)}.dark-mode .project-detail-container .project-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.5)}.dark-mode .project-detail-container .project-title{color:#f1f5f9}.dark-mode .project-detail-container .meta-label{color:#94a3b8}.dark-mode .project-detail-container .description-text,.dark-mode .project-detail-container .meta-value{color:#cbd5e1}.dark-mode .project-detail-container .expand-btn{color:#94a3b8}.dark-mode .project-detail-container .expand-btn:hover{color:#60a5fa;background:rgba(59,130,246,.1)}.dark-mode .project-detail-container .manager-name{color:#cbd5e1}.dark-mode .project-detail-container .manager-avatar{background:linear-gradient(135deg,#4c1d95,#6b21a8)}.dark-mode .project-detail-container .manager-avatar.placeholder{background:linear-gradient(135deg,#4c1d95,#6b21a8);color:#e9d5ff}.dark-mode .project-detail-container .btn{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .project-detail-container .btn:hover{background:#475569;border-color:#60a5fa;color:#60a5fa}.dark-mode .project-detail-container .btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent}.dark-mode .project-detail-container .btn.secondary{background:#334155;border-color:#475569}.dark-mode .project-detail-container .modal-overlay{background-color:rgba(0,0,0,.8)}.dark-mode .project-detail-container .modal-content{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .project-detail-container .form-input,.dark-mode .project-detail-container .form-select,.dark-mode .project-detail-container .form-textarea{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .project-detail-container .form-label{color:#cbd5e1}.dark-mode .project-detail-container .task-card.task-completed{opacity:.6;background:#1e293b;border-color:#334155}.dark-mode .project-detail-container .task-card.task-completed:before{background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(34,197,94,.03))}.dark-mode .project-detail-container .task-card.task-completed .task-title{color:#64748b;text-decoration:line-through}.dark-mode .project-detail-container .task-card.task-completed .task-description{color:#475569}.dark-mode .project-detail-container .task-card.task-completed:hover{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.3);border-color:#334155}.dark-mode .project-detail-container .task-card{color:#f1f5f9}.dark-mode .project-detail-container .task-card,.dark-mode .project-detail-container .team-member-card{background:#334155;border-color:#475569;box-shadow:0 2px 8px rgba(0,0,0,.2)}.dark-mode .project-detail-container .member-name{color:#f1f5f9!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#f1f5f9!important;background-clip:unset!important}.dark-mode .project-detail-container .member-role{color:#94a3b8}.dark-mode .project-detail-container .section-card{background:#1e293b;border-color:#475569;box-shadow:0 4px 12px rgba(0,0,0,.3)}.dark-mode .project-detail-container .section-title{color:#f1f5f9!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#f1f5f9!important;background-clip:unset!important}.dark-mode .project-detail-container .status-badge.planning{background:#334155;color:#94a3b8;border-color:#475569}.dark-mode .project-detail-container .status-badge.ongoing,.dark-mode .project-detail-container .status-badge.paused{background:rgba(245,158,11,.2);color:#fbbf24;border-color:#f59e0b}.dark-mode .project-detail-container .status-badge.completed{background:rgba(16,185,129,.2);color:#34d399;border-color:#10b981}.dark-mode .project-detail-container .status-badge.cancelled{background:rgba(239,68,68,.2);color:#f87171;border-color:#ef4444}.dark-mode .project-detail-container .dropdown-menu{background:#1e293b;border-color:#475569;box-shadow:0 8px 20px rgba(0,0,0,.5)}.dark-mode .project-detail-container .dropdown-item{color:#f1f5f9}.dark-mode .project-detail-container .dropdown-item:hover{background:#334155}.dark-mode .project-detail-container .dropdown-item.active{background:#1e3a8a;color:#60a5fa}.dark-mode .project-detail-container .task-empty-state{background:#1e293b;border-color:#475569}.dark-mode .project-detail-container .empty-state-title{color:#cbd5e1}.dark-mode .project-detail-container .empty-state-message{color:#94a3b8}.dark-mode .project-detail-container .highlight-text{color:#60a5fa}.dark-mode .project-detail-container .more-button{background:#334155;border-color:#475569;color:#60a5fa}.dark-mode .project-detail-container .more-button:hover{background:#475569;border-color:#60a5fa}.dark-mode .project-detail-container .more-button svg,.dark-mode .project-detail-container .more-text{color:#60a5fa}.dark-mode .project-detail-container .task-list-item{background:#334155;border-color:#475569;box-shadow:0 2px 6px rgba(0,0,0,.2)}.dark-mode .project-detail-container .task-list-item:hover{background:#475569;border-color:#60a5fa;box-shadow:0 4px 12px rgba(96,165,250,.2)}.dark-mode .project-detail-container .task-item-title{color:#f1f5f9}.dark-mode .project-detail-container .task-item-description,.dark-mode .project-detail-container .task-item-meta{color:#94a3b8}.dark-mode .project-detail-container .task-detail-label{color:#cbd5e1}.dark-mode .project-detail-container .task-detail-value{color:#f1f5f9}.dark-mode .project-detail-container .task-description-scroll{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .project-detail-container .task-card:hover{background:#475569;border-color:#60a5fa}.dark-mode .project-detail-container .task-title{color:#f1f5f9!important}.dark-mode .project-detail-container .task-description,.dark-mode .project-detail-container .task-meta,.dark-mode .project-detail-container .task-meta span{color:#cbd5e1!important}.dark-mode .project-detail-container .task-creator{color:#60a5fa!important}.dark-mode .project-detail-container .task-assignee{color:#cbd5e1!important}.dark-mode .project-detail-container .task-date{color:#94a3b8!important}.dark-mode .project-detail-container .task-card{color:#f1f5f9!important}.dark-mode .project-detail-container .task-card *{color:inherit}.dark-mode .project-detail-container .task-card .task-creator{color:#60a5fa!important}.dark-mode .project-detail-container .task-card .task-date{color:#94a3b8!important}.dark-mode .project-detail-container .task-priority{background:#475569!important;color:#f1f5f9!important}.dark-mode .project-detail-container .task-priority.高{background:#dc2626!important;color:#fff!important}.dark-mode .project-detail-container .task-priority.中{background:#d97706!important;color:#fff!important}.dark-mode .project-detail-container .task-priority.低{background:#059669!important;color:#fff!important}.dark-mode .project-detail-container .task-status-btn{background:#475569!important;color:#f1f5f9!important;border-color:#64748b!important}.dark-mode .project-detail-container .task-status-btn:hover{background:#64748b!important}.dark-mode .project-detail-container .task-status-btn.待接取{background:#64748b!important;color:#fff!important;border-color:#64748b!important}.dark-mode .project-detail-container .task-status-btn.进行中{background:#3b82f6!important;color:#fff!important;border-color:#3b82f6!important}.dark-mode .project-detail-container .task-status-btn.暂停,.dark-mode .project-detail-container .task-status-btn.阻塞{background:#d97706!important;color:#fff!important;border-color:#d97706!important}.dark-mode .project-detail-container .task-status-btn.完成{background:#10b981!important;color:#fff!important;border-color:#10b981!important}.dark-mode .project-detail-container .team-member-list{background:#1e293b}.dark-mode .project-detail-container .member-select-item{background:#334155;border-color:#475569}.dark-mode .project-detail-container .member-select-item:hover{background:#475569;border-color:#60a5fa}.dark-mode .project-detail-container .member-select-name{color:#f1f5f9}.dark-mode .project-detail-container .member-select-role{color:#94a3b8}.dark-mode .project-detail-container .member-select-avatar .avatar-placeholder{background:#475569;color:#94a3b8}.dark-mode .project-detail-container .empty-members-hint{color:#94a3b8}.dark-mode .project-detail-container .member-card{background:#334155;border-color:#475569;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:all .3s ease}.dark-mode .project-detail-container .member-card:hover{background:#475569;border-color:#60a5fa;box-shadow:0 4px 12px rgba(96,165,250,.15)}.dark-mode .project-detail-container .member-card.invite-card{border-color:#64748b;background:#334155}.dark-mode .project-detail-container .member-card:hover .remove-member-btn{opacity:1}.dark-mode .project-detail-container .remove-member-btn:hover{background:rgba(239,68,68,.2);color:#f87171}.dark-mode .project-detail-container .member-avatar{background-color:#334155}.dark-mode .project-detail-container .member-avatar .avatar-placeholder,.dark-mode .project-detail-container .role-manage-btn{color:#94a3b8}.dark-mode .project-detail-container .role-manage-btn:hover{background:#475569;color:#f1f5f9}.dark-mode .project-detail-container .btn-set-admin{background:rgba(16,185,129,.2);color:#6ee7b7;border-color:#10b981}.dark-mode .project-detail-container .btn-set-admin:hover{background:rgba(16,185,129,.3);border-color:#34d399;color:#a7f3d0;box-shadow:0 2px 8px rgba(16,185,129,.3)}.dark-mode .project-detail-container .btn-remove-admin{background:rgba(251,191,36,.2);color:#fbbf24;border-color:#f59e0b}.dark-mode .project-detail-container .btn-remove-admin:hover{background:rgba(251,191,36,.3);border-color:#fbbf24;color:#fcd34d;box-shadow:0 2px 8px rgba(251,191,36,.3)}.dark-mode .project-detail-container .role-dropdown-menu{background:#1e293b;border-color:#475569;box-shadow:0 8px 20px rgba(0,0,0,.5)}.dark-mode .project-detail-container .role-dropdown-menu .dropdown-item{color:#f1f5f9;border-bottom-color:#334155}.dark-mode .project-detail-container .role-dropdown-menu .dropdown-item:hover{background-color:#334155}.dark-mode .project-detail-container .role-dropdown-menu .dropdown-item.make-admin{color:#6ee7b7}.dark-mode .project-detail-container .role-dropdown-menu .dropdown-item.make-admin:hover{background-color:rgba(16,185,129,.2)}.dark-mode .project-detail-container .role-dropdown-menu .dropdown-item.remove-admin{color:#fbbf24}.dark-mode .project-detail-container .role-dropdown-menu .dropdown-item.remove-admin:hover{background-color:rgba(245,158,11,.2)}.dark-mode .project-detail-container .role-dropdown-menu .dropdown-item.disabled{opacity:.5}.dark-mode .project-detail-container .permission-hint{color:#64748b}.dark-mode .task-title-value{color:#f1f5f9!important}.dark-mode .task-title-section{border-bottom-color:#334155!important}.dark-mode .deadline-warning.overdue{background:#7f1d1d!important;color:#fca5a5!important}.dark-mode .deadline-warning.near{background:#78350f!important;color:#fcd34d!important}.dark-mode .task-detail-label svg{color:#94a3b8!important}.dark-mode .task-info-card{background:#1e293b!important;border-color:#334155!important}.dark-mode .task-info-card:hover{background:#334155!important;border-color:#475569!important}.dark-mode .task-assignee-badge{background:#1e3a5f;color:#93c5fd;border-color:#3b82f6}.dark-mode .task-assignee-badge svg{color:#93c5fd}.dark-mode .task-info-label{color:#94a3b8!important}.dark-mode .task-info-value{color:#f1f5f9!important}.dark-mode .task-status-badge.TODO,.dark-mode .task-status-badge.pending,.dark-mode .task-status-badge.待接取{background:#334155!important;color:#cbd5e1!important}.dark-mode .task-status-badge.IN_PROGRESS,.dark-mode .task-status-badge.inprogress,.dark-mode .task-status-badge.进行中{background:#1e3a5f!important;color:#93c5fd!important}.dark-mode .task-status-badge.BLOCKED,.dark-mode .task-status-badge.阻塞{background:#7f1d1d!important;color:#fca5a5!important}.dark-mode .task-status-badge.DONE,.dark-mode .task-status-badge.completed,.dark-mode .task-status-badge.完成{background:#064e3b!important;color:#6ee7b7!important}.dark-mode .project-detail-container .assign-status-badge{box-shadow:0 2px 4px rgba(16,185,129,.2)!important}.dark-mode .project-detail-container .assign-status-badge,.dark-mode .project-detail-container .assign-status-badge.assigned-by-me{background:#064e3b!important;color:#6ee7b7!important;border-color:#10b981!important}.dark-mode .project-detail-container .upload-result-btn{background:#059669!important;color:#fff!important;box-shadow:0 2px 4px rgba(16,185,129,.3)!important}.dark-mode .project-detail-container .upload-result-btn:hover{background:#047857!important;box-shadow:0 4px 8px rgba(16,185,129,.4)!important}.dark-mode .project-detail-container .upload-result-info{background:#334155!important;border:1px solid #475569!important}.dark-mode .project-detail-container .upload-result-task-title{color:#f1f5f9!important}.dark-mode .project-detail-container .upload-result-task-description{color:#cbd5e1!important}.dark-mode .project-detail-container .optional-text{color:#64748b!important}.dark-mode .project-detail-container .upload-image-btn{background:#334155!important;border-color:#475569!important;color:#cbd5e1!important}.dark-mode .project-detail-container .upload-image-btn:hover:not(:disabled){background:#475569!important;border-color:#64748b!important;color:#f1f5f9!important}.dark-mode .project-detail-container .image-count{color:#94a3b8!important}.dark-mode .project-detail-container .image-preview-item{border-color:#475569!important;background:#1e293b!important}.dark-mode .project-detail-container .result-textarea{background:#334155!important;border-color:#475569!important;color:#f1f5f9!important}.dark-mode .project-detail-container .result-textarea::-moz-placeholder{color:#64748b!important}.dark-mode .project-detail-container .result-textarea::placeholder{color:#64748b!important}.section-title-wrapper{display:flex;align-items:center;gap:12px}.all-tasks-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500}.task-list-modal-overlay{z-index:2000;align-items:flex-start;padding-top:60px}body.task-list-modal-open .modal-overlay{z-index:3000}body.task-list-modal-open .task-list-modal-overlay{z-index:2000}body.task-list-modal-open .modal-content.task-list-modal{z-index:2001}.modal-content.task-list-modal{width:var(--task-list-modal-width,98vw)!important;max-width:98vw!important;height:var(--task-list-modal-height,85vh)!important;min-width:0;min-height:600px;max-height:95vh!important;display:flex;flex-direction:column;position:relative;resize:none;overflow:hidden}@media (min-width:1000px){.modal-content.task-list-modal{min-width:900px}}.task-list-header-content{display:flex;align-items:center;gap:12px}.task-count-badge{display:inline-flex;align-items:center;padding:4px 10px;background:#f1f5f9;border-radius:12px;font-size:13px;font-weight:600;color:#475569}.task-list-modal-body{display:flex;flex-direction:column;gap:16px;padding:20px;overflow:hidden}.task-list-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.btn.small{padding:6px 12px;font-size:13px}.task-list-table-container{flex:1;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.task-list-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.task-list-table thead{background:#f8fafc;position:sticky;top:0;z-index:10}.task-list-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;white-space:nowrap}.task-list-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.task-list-table tbody tr.task-row{cursor:pointer;transition:background-color .2s}.task-list-table tbody tr.task-row:hover{background:#f8fafc}.task-list-table tbody tr.empty-row{cursor:default}.task-list-table tbody tr.empty-row:hover{background:transparent}.empty-message{text-align:center;padding:40px 20px;color:#94a3b8}.col-priority{width:80px}.col-title{width:260px;min-width:260px;max-width:260px}.col-status{width:140px}.col-assignee{width:150px}.col-creator{width:90px}.col-date{width:100px}.col-participants{width:80px;text-align:center}.col-actions{width:230px;text-align:right}.task-title-cell{display:flex;flex-direction:column;gap:4px}.task-title-text{font-weight:600;color:#1e293b;line-height:1.4}.task-description-preview{font-size:12px;color:#64748b;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.priority-badge,.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.priority-badge.priority-high,.priority-badge.priority-高{background:#fee2e2;color:#dc2626}.priority-badge.priority-medium,.priority-badge.priority-中{background:#fef3c7;color:#d97706}.priority-badge.priority-low,.priority-badge.priority-低{background:#dbeafe;color:#2563eb}.status-badge.status-pending,.status-badge.status-待接取{background:#f1f5f9;color:#64748b}.status-badge.status-in-progress,.status-badge.status-进行中{background:#dbeafe;color:#2563eb}.status-badge.status-blocked,.status-badge.status-阻塞{background:#fee2e2;color:#dc2626}.status-badge.status-pending-review,.status-badge.status-待审核{background:#fef3c7;color:#d97706}.status-badge.status-done,.status-badge.status-完成{background:#d1fae5;color:#059669}.text-muted{color:#94a3b8;font-style:italic}.task-actions-cell{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:all .2s}.action-btn.claim-btn{width:auto;min-width:56px;padding:4px 10px;white-space:nowrap;line-height:1}.action-btn:hover:not(:disabled){background:#f1f5f9;color:#1e293b}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.status-btn{width:auto;min-width:88px;padding:4px 8px;font-size:12px;font-weight:600;white-space:nowrap}.action-btn.status-btn.disabled{opacity:.6;cursor:not-allowed}.task-actions-cell{position:relative}.task-status-menu-modal{position:absolute;right:0;bottom:100%;margin-bottom:4px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);z-index:1000;min-width:120px;padding:4px}.task-status-menu-modal .status-option{display:block;width:100%;padding:8px 12px;text-align:left;border:none;background:transparent;color:#475569;font-size:13px;cursor:pointer;border-radius:6px;transition:all .2s}.task-status-menu-modal .status-option:hover{background:#f1f5f9;color:#1e293b}.task-status-menu-modal .status-option.active{background:#eff6ff;color:#2563eb;font-weight:600}@media (max-width:768px){.task-list-modal{width:98%;max-height:95vh}.task-list-table-container{overflow-x:auto}.task-list-table{min-width:800px}.task-list-filters{flex-direction:column;align-items:stretch}.filter-group{width:100%}}.dark-mode .task-count-badge{background:#334155;color:#cbd5e1}.dark-mode .task-list-table-container{background:#1e293b;border-color:#334155}.dark-mode .task-list-table thead{background:#0f172a}.dark-mode .task-list-table th{color:#94a3b8;border-bottom-color:#334155}.dark-mode .task-list-table td{border-bottom-color:#334155}.dark-mode .task-list-table tbody tr.task-row:hover{background:#0f172a}.dark-mode .task-title-text{color:#f1f5f9}.dark-mode .task-description-preview{color:#94a3b8}.dark-mode .text-muted{color:#64748b}.dark-mode .action-btn:hover:not(:disabled){background:#334155;color:#f1f5f9}.dark-mode .task-status-menu-modal{background:#1e293b;border-color:#334155}.dark-mode .task-status-menu-modal .status-option{color:#cbd5e1}.dark-mode .task-status-menu-modal .status-option:hover{background:#0f172a;color:#f1f5f9}.dark-mode .task-status-menu-modal .status-option.active{background:#1e3a8a;color:#93c5fd}.dark-mode .task-list-filters{border-bottom-color:#334155}.dark-mode .filter-label{color:#94a3b8}.task-list-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e2e8f0;background:#fff;margin-top:0}.pagination-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.page-size-select{padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;background:#fff;color:#1e293b;cursor:pointer;transition:all .2s}.page-size-select:hover{border-color:#cbd5e1}.page-size-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s;min-width:60px}.pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#f8fafc}.pagination-page-info{padding:0 12px;font-size:14px;color:#64748b;white-space:nowrap}.action-btn.assign-btn{color:#10b981}.action-btn.assign-btn:hover:not(:disabled){background:#d1fae5;color:#059669}.action-btn.claim-btn{color:#3b82f6}.action-btn.claim-btn:hover:not(:disabled){background:#dbeafe;color:#2563eb}.dark-mode .task-list-pagination{background:#1e293b;border-top-color:#334155}.dark-mode .pagination-info{color:#94a3b8}.dark-mode .page-size-select{background:#334155;border-color:#475569;color:#f1f5f9}.dark-mode .page-size-select:hover{border-color:#64748b}.dark-mode .page-size-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}.dark-mode .pagination-btn{background:#334155;border-color:#475569;color:#cbd5e1}.dark-mode .pagination-btn:hover:not(:disabled){background:#475569;border-color:#64748b;color:#f1f5f9}.dark-mode .pagination-btn:disabled{background:#1e293b;opacity:.5}.dark-mode .pagination-page-info{color:#94a3b8}.dark-mode .action-btn.assign-btn{color:#10b981}.dark-mode .action-btn.assign-btn:hover:not(:disabled){background:rgba(16,185,129,.2);color:#34d399}.dark-mode .action-btn.claim-btn{color:#60a5fa}.dark-mode .action-btn.claim-btn:hover:not(:disabled){background:rgba(59,130,246,.2);color:#93c5fd}.task-list-modal .resize-handle{position:absolute;background:transparent;z-index:1000}.task-list-modal .resize-handle-se{bottom:0;right:0;width:20px;height:20px;cursor:se-resize;background:linear-gradient(135deg,transparent,transparent 40%,#cbd5e1 0,#cbd5e1 45%,transparent 0,transparent 55%,#cbd5e1 0,#cbd5e1 60%,transparent 0)}.task-list-modal .resize-handle-e{top:0;right:0;bottom:0;width:8px;cursor:e-resize}.task-list-modal .resize-handle-s{left:0;right:0;bottom:0;height:8px;cursor:s-resize}.task-list-modal:hover .resize-handle-se{background:linear-gradient(135deg,transparent,transparent 40%,#3b82f6 0,#3b82f6 45%,transparent 0,transparent 55%,#3b82f6 0,#3b82f6 60%,transparent 0)}.task-list-modal .resize-handle-e:hover,.task-list-modal .resize-handle-s:hover{background:rgba(59,130,246,.1)}.task-list-modal.resizing,.task-list-modal.resizing *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.task-list-modal.resizing *{pointer-events:none}.dark-mode .task-list-modal .resize-handle-se{background:linear-gradient(135deg,transparent,transparent 40%,#64748b 0,#64748b 45%,transparent 0,transparent 55%,#64748b 0,#64748b 60%,transparent 0)}.dark-mode .task-list-modal:hover .resize-handle-se{background:linear-gradient(135deg,transparent,transparent 40%,#60a5fa 0,#60a5fa 45%,transparent 0,transparent 55%,#60a5fa 0,#60a5fa 60%,transparent 0)}.dark-mode .task-list-modal .resize-handle-e:hover,.dark-mode .task-list-modal .resize-handle-s:hover{background:rgba(96,165,250,.2)}.modal-overlay[data-v-bb2f137c]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-content[data-v-bb2f137c]{position:relative;background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.2)}.file-upload-loading-overlay[data-v-bb2f137c]{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;z-index:20;display:flex;align-items:center;justify-content:center;border-radius:12px}.file-upload-loading-content[data-v-bb2f137c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 16px;border-radius:12px;background:hsla(0,0%,100%,.92);box-shadow:0 10px 24px rgba(0,0,0,.12)}.file-upload-loading-spinner[data-v-bb2f137c]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin-bb2f137c 1s linear infinite;margin-bottom:10px}@keyframes spin-bb2f137c{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.file-upload-loading-text[data-v-bb2f137c]{color:#333;font-size:14px}.modal-header[data-v-bb2f137c]{padding:24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-title[data-v-bb2f137c]{margin:0;font-size:20px;font-weight:600;color:#333}.modal-close[data-v-bb2f137c]{background:none;border:none;cursor:pointer;padding:4px;color:#666;transition:all .2s;border-radius:4px}.modal-close[data-v-bb2f137c]:hover{background-color:#f5f5f5;color:#333}.modal-body[data-v-bb2f137c]{padding:24px;overflow-y:auto;overflow-x:visible;flex:1;position:relative}.task-info-section[data-v-bb2f137c]{margin-bottom:24px}.section-title[data-v-bb2f137c]{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.task-info-card[data-v-bb2f137c]{background-color:#f5f5f5;border-radius:8px;padding:16px;display:flex;flex-direction:column}.info-item[data-v-bb2f137c]{display:flex;margin-bottom:12px}.info-item[data-v-bb2f137c]:last-child{margin-bottom:0}.info-label[data-v-bb2f137c]{font-weight:600;color:#666;min-width:80px}.info-value[data-v-bb2f137c]{color:#333;flex:1}.form-group[data-v-bb2f137c]{margin-bottom:24px}.form-label[data-v-bb2f137c]{display:block;font-weight:600;color:#333;margin-bottom:8px;font-size:14px}.form-label.required[data-v-bb2f137c]:before{content:"*";color:#f44336;margin-right:4px}.label-tip[data-v-bb2f137c]{font-weight:400;color:#999;font-size:12px}.form-textarea[data-v-bb2f137c]{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s}.form-textarea[data-v-bb2f137c]:focus{outline:none;border-color:#2196f3}.char-count[data-v-bb2f137c]{text-align:right;font-size:12px;color:#999;margin-top:4px}.radio-group[data-v-bb2f137c]{display:flex;gap:12px;flex-wrap:wrap}.radio-item[data-v-bb2f137c]{flex:1;min-width:180px;display:flex;align-items:flex-start;padding:12px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.radio-item[data-v-bb2f137c]:hover{border-color:#2196f3;background-color:#f5f9ff}.radio-item input[type=radio][data-v-bb2f137c]{margin-right:12px;margin-top:2px}.radio-item input[type=radio]:checked~.radio-label[data-v-bb2f137c]{color:#2196f3}.radio-label[data-v-bb2f137c]{display:flex;flex-direction:column;gap:4px}.radio-title[data-v-bb2f137c]{font-weight:600;color:#333}.radio-desc[data-v-bb2f137c]{font-size:12px;color:#999}.upload-area[data-v-bb2f137c]{border:2px dashed #ddd;border-radius:8px;padding:20px;padding-top:20px;padding-left:20px;padding-right:20px;transition:border-color .2s;display:flex;flex-direction:column;align-items:center;overflow:visible;position:relative;min-height:100px;box-sizing:border-box}.upload-area[data-v-bb2f137c]:hover{border-color:#2196f3}.upload-trigger[data-v-bb2f137c]{text-align:center;cursor:pointer;padding:20px}.upload-text[data-v-bb2f137c]{margin:12px 0 4px;font-size:16px;font-weight:600;color:#333}.upload-hint[data-v-bb2f137c]{margin:0;font-size:12px;color:#999}.file-list[data-v-bb2f137c]{margin-top:0;margin-bottom:20px;margin-left:0;margin-right:0;flex-direction:column;gap:12px;border-bottom:1px solid #e8e8e8;padding-top:0;padding-bottom:20px;padding-left:0;padding-right:0;align-items:center;z-index:10}.file-item-new[data-v-bb2f137c],.file-list[data-v-bb2f137c]{display:flex;width:100%;max-width:100%;position:relative;box-sizing:border-box}.file-item-new[data-v-bb2f137c]{align-items:flex-start;padding:14px 16px;background:#fff;border:1.5px solid #e8e8e8;border-radius:10px;transition:all .2s ease;gap:14px;z-index:11;box-shadow:0 1px 3px rgba(0,0,0,.05);margin:0}.file-item-new[data-v-bb2f137c]:hover{border-color:#2196f3;box-shadow:0 2px 8px rgba(33,150,243,.12);transform:none}.file-icon-wrapper[data-v-bb2f137c]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;position:relative;overflow:hidden}.file-icon-wrapper[data-v-bb2f137c]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:.1;background:currentColor}.file-icon-inner[data-v-bb2f137c]{position:relative;z-index:1}.file-icon-inner svg[data-v-bb2f137c]{width:28px;height:28px}.file-type-pdf[data-v-bb2f137c]{background:linear-gradient(135deg,#ff6b6b,#dc143c);color:#dc143c}.file-type-word[data-v-bb2f137c]{background:linear-gradient(135deg,#4a90e2,#2b579a);color:#2b579a}.file-type-excel[data-v-bb2f137c]{background:linear-gradient(135deg,#5cb85c,#1d6f42);color:#1d6f42}.file-type-ppt[data-v-bb2f137c]{background:linear-gradient(135deg,#f39c12,#d68910);color:#d68910}.file-type-image[data-v-bb2f137c]{background:linear-gradient(135deg,#52c41a,#389e0d);color:#389e0d}.file-type-archive[data-v-bb2f137c]{background:linear-gradient(135deg,#ffa940,#d46b08);color:#d46b08}.file-type-video[data-v-bb2f137c]{background:linear-gradient(135deg,#722ed1,#531dab);color:#531dab}.file-type-text[data-v-bb2f137c]{background:linear-gradient(135deg,#13c2c2,#08979c);color:#08979c}.file-type-default[data-v-bb2f137c]{background:linear-gradient(135deg,#2196f3,#1976d2);color:#1976d2}.file-content[data-v-bb2f137c]{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.file-header[data-v-bb2f137c]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.file-name-new[data-v-bb2f137c]{font-weight:500;color:#1a1a1a;font-size:14px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.file-footer[data-v-bb2f137c]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-type-tag[data-v-bb2f137c]{font-size:11px;padding:3px 8px;background:#f5f5f5;color:#666;border-radius:12px;font-weight:500;white-space:nowrap;line-height:1.4}.file-size-new[data-v-bb2f137c]{font-size:11px;color:#999;white-space:nowrap;font-weight:400}.file-remove-new[data-v-bb2f137c]{background:transparent;border:none;color:#999;cursor:pointer;padding:4px;transition:all .2s ease;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:.6}.file-remove-new[data-v-bb2f137c]:hover{background:rgba(244,67,54,.1);color:#f44336;opacity:1}.input-group[data-v-bb2f137c],.worktime-input-wrapper[data-v-bb2f137c]{display:flex;align-items:center}.worktime-input-wrapper .form-input[data-v-bb2f137c]{flex:1}.form-input[data-v-bb2f137c]{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-input[data-v-bb2f137c]:focus{outline:none;border-color:#2196f3}.input-suffix[data-v-bb2f137c]{margin-left:8px;color:#666;font-size:14px}.checkbox-label[data-v-bb2f137c]{display:flex;align-items:center;cursor:pointer;font-size:14px;color:#333}.checkbox-label input[type=checkbox][data-v-bb2f137c]{margin-right:8px}.form-hint[data-v-bb2f137c]{margin:8px 0 0;font-size:12px;color:#999}.modal-footer[data-v-bb2f137c]{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.btn[data-v-bb2f137c]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-bb2f137c]{background-color:#f5f5f5;color:#666}.btn-secondary[data-v-bb2f137c]:hover{background-color:#e0e0e0}.btn-primary[data-v-bb2f137c]{background-color:#2196f3;color:#fff}.btn-primary[data-v-bb2f137c]:hover{background-color:#1976d2}.btn-primary[data-v-bb2f137c]:disabled{background-color:#ccc;cursor:not-allowed}.toast-message[data-v-bb2f137c]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.85);color:#fff;padding:16px 32px;border-radius:8px;font-size:16px;font-weight:500;z-index:10000;animation:toastFadeInOut-bb2f137c 2s ease-in-out;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.3);white-space:nowrap;max-width:80%;text-align:center}@keyframes toastFadeInOut-bb2f137c{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.modal-overlay[data-v-5bf4c356]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:flex-start;justify-content:center;z-index:9999;padding:80px 20px 20px}.modal-content[data-v-5bf4c356]{position:relative;background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.15)}.review-submit-loading-overlay[data-v-5bf4c356]{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;z-index:20;display:flex;align-items:center;justify-content:center;border-radius:12px}.review-submit-loading-content[data-v-5bf4c356]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 16px;border-radius:12px;background:hsla(0,0%,100%,.92);box-shadow:0 10px 24px rgba(0,0,0,.12)}.review-submit-loading-spinner[data-v-5bf4c356]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin-5bf4c356 1s linear infinite;margin-bottom:10px}.review-submit-loading-text[data-v-5bf4c356]{color:#333;font-size:14px}@keyframes spin-5bf4c356{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-header[data-v-5bf4c356]{padding:24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-title[data-v-5bf4c356]{margin:0;font-size:20px;font-weight:600;color:#333}.modal-close[data-v-5bf4c356]{background:none;border:none;cursor:pointer;padding:4px;color:#666;transition:all .2s;border-radius:4px}.modal-close[data-v-5bf4c356]:hover{background-color:#f5f5f5;color:#333}.modal-body[data-v-5bf4c356]{padding:18px 24px 20px;overflow-y:auto;flex:1}.task-info-section[data-v-5bf4c356]{margin-bottom:24px}.section-title[data-v-5bf4c356]{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.task-info-card[data-v-5bf4c356]{background-color:#f8f9fa;border-radius:8px;padding:16px;display:flex;flex-direction:column}.info-item[data-v-5bf4c356]{display:flex;align-items:center;margin-bottom:12px}.info-item[data-v-5bf4c356]:last-child{margin-bottom:0}.info-label[data-v-5bf4c356]{font-weight:600;color:#666;min-width:100px}.info-value[data-v-5bf4c356]{color:#333;flex:1}.submission-type-badge[data-v-5bf4c356]{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.type-COMPLETE[data-v-5bf4c356]{background-color:#e3f2fd;color:#1976d2}.type-PARTIAL[data-v-5bf4c356]{background-color:#fff3e0;color:#f57c00}.type-MILESTONE[data-v-5bf4c356]{background-color:#f3e5f5;color:#7b1fa2}.badge[data-v-5bf4c356]{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-success[data-v-5bf4c356]{background-color:#e8f5e9;color:#2e7d32}.badge-info[data-v-5bf4c356]{background-color:#e3f2fd;color:#1976d2}.form-group[data-v-5bf4c356]{margin-bottom:24px}.form-label[data-v-5bf4c356]{display:block;font-weight:600;color:#333;margin-bottom:8px;font-size:14px}.form-label.required[data-v-5bf4c356]:before{content:"*";color:#f44336;margin-right:4px}.label-optional[data-v-5bf4c356]{font-weight:400;color:#999;font-size:12px}.submission-content-box[data-v-5bf4c356]{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:16px;line-height:1.6;color:#333;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.attachment-list[data-v-5bf4c356]{display:flex;flex-direction:column;gap:8px}.attachment-item[data-v-5bf4c356]{display:flex;align-items:center;padding:12px;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s}.attachment-item[data-v-5bf4c356]:hover{background-color:#e9ecef}.attachment-icon[data-v-5bf4c356]{color:#2196f3;margin-right:12px}.attachment-info[data-v-5bf4c356]{flex:1}.attachment-name[data-v-5bf4c356]{font-weight:500;color:#333;word-break:break-all}.attachment-download[data-v-5bf4c356]{background:none;border:none;color:#2196f3;cursor:pointer;padding:6px;transition:all .2s;border-radius:4px}.attachment-download[data-v-5bf4c356]:hover{background-color:#e3f2fd}.form-textarea[data-v-5bf4c356]{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s}.form-textarea[data-v-5bf4c356]:focus{outline:none;border-color:#2196f3}.char-count[data-v-5bf4c356]{text-align:right;font-size:12px;color:#999;margin-top:4px}.review-options[data-v-5bf4c356]{display:flex;gap:16px}.review-option[data-v-5bf4c356]{flex:1;display:flex;padding:16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.review-option input[type=radio][data-v-5bf4c356]{margin-right:12px;margin-top:4px}.review-option.approve.selected[data-v-5bf4c356],.review-option.approve[data-v-5bf4c356]:hover{border-color:#4caf50;background-color:#f1f8f4}.review-option.reject.selected[data-v-5bf4c356],.review-option.reject[data-v-5bf4c356]:hover{border-color:#f44336;background-color:#ffebee}.option-content[data-v-5bf4c356]{display:flex;flex-direction:column;gap:6px}.review-option.approve .option-content svg[data-v-5bf4c356]{color:#4caf50}.review-option.reject .option-content svg[data-v-5bf4c356]{color:#f44336}.option-title[data-v-5bf4c356]{font-weight:600;font-size:15px;color:#333}.option-desc[data-v-5bf4c356]{font-size:13px;color:#666}.review-warning[data-v-5bf4c356]{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:#fff8e1;border:1px solid #ffeb3b;border-radius:6px;color:#f57f17;font-size:14px}.review-warning svg[data-v-5bf4c356]{flex-shrink:0}.modal-footer[data-v-5bf4c356]{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.btn[data-v-5bf4c356]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-5bf4c356]{background-color:#f5f5f5;color:#666}.btn-secondary[data-v-5bf4c356]:hover{background-color:#e0e0e0}.btn-success[data-v-5bf4c356]{background-color:#4caf50;color:#fff}.btn-success[data-v-5bf4c356]:hover{background-color:#45a049}.btn-danger[data-v-5bf4c356]{background-color:#f44336;color:#fff}.btn-danger[data-v-5bf4c356]:hover{background-color:#da190b}.btn[data-v-5bf4c356]:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.no-submission-message[data-v-5bf4c356]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.no-submission-message svg[data-v-5bf4c356]{color:#999;margin-bottom:20px}.no-submission-text[data-v-5bf4c356]{font-size:18px;font-weight:600;color:#666;margin:0 0 8px 0}.no-submission-desc[data-v-5bf4c356]{font-size:14px;color:#999;margin:0}.project-transfer-container[data-v-f0281b00]{min-height:100vh;background-color:#f8f9fa;display:flex;flex-direction:column}.top-header[data-v-f0281b00]{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #e9ecef;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.1);z-index:1000}.header-left[data-v-f0281b00]{display:flex;align-items:center;gap:16px}.back-btn[data-v-f0281b00]{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.back-btn[data-v-f0281b00]:hover{background-color:#f8f9fa;color:#333}.page-title[data-v-f0281b00]{font-size:18px;font-weight:600;color:#333}.main-content[data-v-f0281b00]{flex:1;margin-top:64px;padding:32px 24px 40px;max-width:1200px;width:100%;margin-left:auto;margin-right:auto}.content-card[data-v-f0281b00]{background:#fff;border-radius:12px;padding:24px 28px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.page-main-title[data-v-f0281b00]{font-size:22px;font-weight:600;margin:0 0 12px 0;color:#1f2933}.page-desc[data-v-f0281b00]{margin:0 0 12px 0;color:#52606d}.hint-list[data-v-f0281b00]{margin:0;padding-left:20px;color:#52606d}.hint-list li[data-v-f0281b00]{margin-bottom:4px}.loading-container[data-v-f0281b00]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 0}.loading-spinner[data-v-f0281b00]{width:32px;height:32px;border-radius:50%;border:3px solid #e5e7eb;border-top-color:#3b82f6;animation:spin-f0281b00 1s linear infinite;margin-bottom:12px}@keyframes spin-f0281b00{to{transform:rotate(1turn)}}.empty-state[data-v-f0281b00]{text-align:center}.empty-state h2[data-v-f0281b00]{font-size:18px;margin-bottom:8px}.empty-state p[data-v-f0281b00]{color:#6b7280;margin-bottom:16px}.primary-btn[data-v-f0281b00],.secondary-btn[data-v-f0281b00]{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.primary-btn[data-v-f0281b00]{background:#3b82f6;color:#fff}.primary-btn[data-v-f0281b00]:disabled{background:#93c5fd;cursor:not-allowed;box-shadow:none}.primary-btn[data-v-f0281b00]:not(:disabled):hover{background:#2563eb;box-shadow:0 6px 18px rgba(37,99,235,.25)}.secondary-btn[data-v-f0281b00]{background:#f3f4f6;color:#374151}.secondary-btn[data-v-f0281b00]:hover{background:#e5e7eb}.projects-section[data-v-f0281b00]{margin-top:4px}.projects-header[data-v-f0281b00]{margin-bottom:16px}.projects-header h2[data-v-f0281b00]{margin:0 0 4px 0;font-size:18px}.projects-summary[data-v-f0281b00]{margin:0;color:#6b7280;font-size:14px}.project-list[data-v-f0281b00]{display:flex;flex-direction:column;gap:12px}.project-item[data-v-f0281b00]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;border-radius:10px;border:1px solid #e5e7eb;background-color:#f9fafb}.project-main[data-v-f0281b00]{flex:1}.project-title[data-v-f0281b00]{margin:0 0 4px 0;font-size:16px;font-weight:600;color:#111827}.project-desc[data-v-f0281b00]{margin:0 0 8px 0;font-size:14px;color:#4b5563}.project-meta[data-v-f0281b00]{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#6b7280}.meta-item[data-v-f0281b00]{display:inline-flex;align-items:center;gap:4px}.status-badge[data-v-f0281b00]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background-color:#e5f0ff;color:#1d4ed8;font-size:12px}.single-member-warning[data-v-f0281b00]{margin-top:8px;font-size:13px;color:#b91c1c;background-color:#fef2f2;border-radius:6px;padding:8px 10px}.project-actions[data-v-f0281b00]{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.selected-target[data-v-f0281b00]{font-size:13px;color:#111827}.footer-actions[data-v-f0281b00]{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.modal-overlay[data-v-f0281b00]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content[data-v-f0281b00]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:520px;width:90%;max-height:80vh;overflow:hidden}.modal-header[data-v-f0281b00]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 12px}.modal-header h3[data-v-f0281b00]{margin:0;font-size:18px}.modal-close[data-v-f0281b00]{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280}.modal-close[data-v-f0281b00]:hover{background-color:#f3f4f6}.modal-body[data-v-f0281b00]{padding:12px 22px 16px}.modal-project-title[data-v-f0281b00]{margin:0 0 8px 0;font-size:14px;color:#374151}.modal-warning[data-v-f0281b00]{background-color:#fef2f2;border-radius:8px;padding:10px 12px;font-size:13px;color:#b91c1c}.modal-empty[data-v-f0281b00]{text-align:center;color:#6b7280;font-size:14px}.member-list[data-v-f0281b00]{margin-top:8px;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.member-item[data-v-f0281b00]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid #e5e7eb;background-color:#f9fafb}.member-item input[type=radio][data-v-f0281b00]{flex-shrink:0}.member-info[data-v-f0281b00]{flex:1}.member-name-role[data-v-f0281b00]{display:flex;align-items:center;gap:8px}.member-name[data-v-f0281b00]{font-size:14px;font-weight:500;color:#111827}.role-badge[data-v-f0281b00]{padding:2px 8px;border-radius:999px;font-size:12px}.role-owner[data-v-f0281b00]{background-color:#fef3c7;color:#92400e}.role-admin[data-v-f0281b00]{background-color:#dbeafe;color:#1d4ed8}.role-member[data-v-f0281b00]{background-color:#e5e7eb;color:#374151}.modal-footer[data-v-f0281b00]{padding:12px 22px 16px;display:flex;justify-content:flex-end}@media (max-width:768px){.project-item[data-v-f0281b00]{flex-direction:column;align-items:flex-start}.project-actions[data-v-f0281b00]{width:100%;align-items:flex-start}.footer-actions[data-v-f0281b00]{flex-direction:column-reverse;align-items:stretch}.primary-btn[data-v-f0281b00],.secondary-btn[data-v-f0281b00]{width:100%;justify-content:center}}.knowledge-base-container{min-height:100vh;background-color:#f8f9fa;display:flex;flex-direction:column;position:relative}.knowledge-base-container .top-header{background:#fff;border-bottom:1px solid #e9ecef;height:64px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.1)}.knowledge-base-container .header-left{display:flex;align-items:center;gap:16px}.knowledge-base-container .back-btn,.knowledge-base-container .menu-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.knowledge-base-container .back-btn:hover,.knowledge-base-container .menu-btn:hover{background-color:#f8f9fa}.knowledge-base-container .page-title{font-size:18px;font-weight:600;color:#333;line-height:1;margin:0;padding:0;display:inline-flex;align-items:center;transform:translateY(-1px)}.knowledge-base-container .header-right{display:flex;align-items:center;gap:24px;position:relative}.knowledge-base-container .translate-icon{width:32px;height:32px;border-radius:50%;background:#007bff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;cursor:pointer}.knowledge-base-container .main-content{flex:1;padding:0 24px}.knowledge-base-container .content-layout.leftbar{display:block;height:calc(100vh - 64px);position:relative;transform:translateZ(0)}.knowledge-base-container .left-options{position:fixed;top:38px;left:20px;width:200px;height:calc(100vh - 108px);z-index:100;transform:translateZ(0);will-change:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;gap:12px}.knowledge-base-container .options-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e5e7eb;border-radius:16px;padding:16px;margin-bottom:0;margin-top:0;flex:0 0 auto;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:box-shadow .3s ease;transform:translateZ(0);opacity:1;visibility:visible}.knowledge-base-container .options-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.12)}.knowledge-base-container .options-title{font-size:14px;color:#6b7280;padding:8px 10px 12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border-bottom:2px solid #e5e7eb;margin-bottom:8px}.knowledge-base-container .option-item{padding:12px 14px;border-radius:10px;cursor:pointer;color:#374151;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden}.knowledge-base-container .option-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:#4f46e5;transform:scaleY(0);transition:transform .3s ease}.knowledge-base-container .option-item:hover{background:linear-gradient(90deg,#f6f7fb,#eef2ff);transform:translateX(4px)}.knowledge-base-container .option-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px rgba(102,126,234,.4);font-weight:600}.knowledge-base-container .option-item.active:before{transform:scaleY(1)}.knowledge-base-container .option-item.disabled{opacity:.5;cursor:not-allowed;color:#9ca3af;background:#f3f4f6;pointer-events:none}.knowledge-base-container .option-item.disabled:hover{background:#f3f4f6;transform:none;color:#9ca3af}.knowledge-base-container .option-item.disabled:before{display:none}.knowledge-base-container .content-right{min-width:0;display:flex;flex-direction:column;height:calc(100vh - 64px);margin-left:240px;margin-top:0;padding:40px 20px 20px 20px;background:#f8f9fa;border-radius:12px;overflow-x:hidden;position:relative;transform:translateZ(0);will-change:auto}.knowledge-base-container .ai-panel-container{flex:1;display:flex;flex-direction:column;min-height:0}.knowledge-base-container .home-content{display:flex;flex-direction:column;gap:20px;justify-content:flex-start;transform:translateZ(0)}.knowledge-base-container .kb-header{margin-bottom:24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:32px 40px;box-shadow:0 10px 40px rgba(102,126,234,.3);position:relative;overflow:visible;min-height:140px;transform:translateZ(0);will-change:auto}.knowledge-base-container .kb-header:before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);border-radius:50%;transform:translate(20%,-20%);pointer-events:none}.knowledge-base-container .kb-title{font-size:32px;font-weight:700;color:#fff;margin:0 0 12px 0;position:relative;z-index:1;line-height:1.3;word-break:break-word}.knowledge-base-container .kb-subtitle{font-size:16px;color:hsla(0,0%,100%,.9);line-height:1.8;margin:0;position:relative;z-index:1;word-break:break-word}.knowledge-base-container .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.knowledge-base-container .stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e5e7eb;border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.08);position:relative;overflow:hidden}.knowledge-base-container .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.knowledge-base-container .stat-card:hover:before{transform:scaleX(1)}.knowledge-base-container .stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(102,126,234,.25);border-color:rgba(102,126,234,.3)}.knowledge-base-container .stat-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.knowledge-base-container .stat-card-title{font-size:14px;color:#6b7280;font-weight:500}.knowledge-base-container .stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.knowledge-base-container .stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.knowledge-base-container .stat-icon.blue{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.knowledge-base-container .stat-icon.green{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#2d3748}.knowledge-base-container .stat-icon.purple{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.knowledge-base-container .stat-value{font-size:32px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.knowledge-base-container .stat-desc{font-size:13px;color:#6b7280}.knowledge-base-container .card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.08);transition:all .3s ease}.knowledge-base-container .card:hover{box-shadow:0 8px 25px rgba(0,0,0,.12);transform:translateY(-2px)}.knowledge-base-container .card-header{padding:20px 24px;border-bottom:2px solid #e5e7eb;background:linear-gradient(90deg,rgba(102,126,234,.05),rgba(118,75,162,.05))}.knowledge-base-container .card-title{font-size:18px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.knowledge-base-container .activity-list{padding:16px 20px}.knowledge-base-container .activity-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}.knowledge-base-container .activity-item:last-child{border-bottom:none}.knowledge-base-container .activity-bullet{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.knowledge-base-container .activity-bullet.doc{background:#1976d2}.knowledge-base-container .activity-bullet.update{background:#388e3c}.knowledge-base-container .activity-bullet.ai{background:#7b1fa2}.knowledge-base-container .activity-bullet.delete{background:#d32f2f}.knowledge-base-container .activity-bullet.edit{background:#f57c00}.knowledge-base-container .activity-main{flex:1}.knowledge-base-container .activity-text{font-size:14px;color:#333;line-height:1.5;margin-bottom:4px}.knowledge-base-container .activity-meta{font-size:12px;color:#6b7280}@media (max-width:1200px){.knowledge-base-container .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.knowledge-base-container .content-layout.leftbar{grid-template-columns:1fr;height:auto!important;min-height:auto!important}.knowledge-base-container .left-options{position:static;width:100%;margin-bottom:16px;height:auto!important}.knowledge-base-container .content-right{margin-left:0;padding:16px}.knowledge-base-container .options-card{height:auto!important}.knowledge-base-container .stats-grid{grid-template-columns:1fr}}@media (max-width:600px){.knowledge-base-container .main-content{padding:0 16px}.knowledge-base-container .left-options{margin-bottom:12px}.knowledge-base-container .content-right{padding:12px}.knowledge-base-container .options-card{padding:16px}.knowledge-base-container .stats-grid{gap:12px}.knowledge-base-container .stat-card{padding:16px}}@media (max-width:480px){.knowledge-base-container .main-content{padding:0 12px}.knowledge-base-container .left-options{margin-bottom:10px}.knowledge-base-container .content-right{padding:10px}.knowledge-base-container .options-card{padding:12px}.knowledge-base-container .option-item{padding:10px 12px;font-size:14px}.knowledge-base-container .stats-grid{gap:10px}.knowledge-base-container .stat-card{padding:12px}.knowledge-base-container .kb-header{padding:20px 16px}.knowledge-base-container .kb-title{font-size:24px}.knowledge-base-container .kb-subtitle{font-size:14px}}@media (max-width:768px){.knowledge-base-container .top-header{padding-right:120px!important}.knowledge-base-container .top-header .header-title{max-width:calc(100vw - 200px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.knowledge-base-container .main-content{padding-top:26px!important}.knowledge-base-container .kb-header{overflow:hidden;word-wrap:break-word;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:10px 10px!important;min-height:48px;margin-bottom:6px}.knowledge-base-container .toolbar{margin-bottom:8px!important;padding:8px!important}.knowledge-base-container .grid{gap:8px!important}.knowledge-base-container .kb-title{word-wrap:break-word;overflow-wrap:break-word;max-width:100%;font-size:20px;line-height:1.3;margin:0}.knowledge-base-container .kb-subtitle{word-wrap:break-word;overflow-wrap:break-word;display:none}}.dark-mode .knowledge-base-container{background-color:#0f172a}.dark-mode .knowledge-base-container .top-header{background:#1e293b;border-bottom-color:#334155}.dark-mode .knowledge-base-container .page-title{color:#f1f5f9}.dark-mode .knowledge-base-container .back-btn,.dark-mode .knowledge-base-container .menu-btn{color:#cbd5e1}.dark-mode .knowledge-base-container .back-btn:hover,.dark-mode .knowledge-base-container .menu-btn:hover{background-color:#334155;color:#f1f5f9}.dark-mode .knowledge-base-container .main-content{background-color:#0f172a}.dark-mode .knowledge-base-container .content-right{background:#0f172a}.dark-mode .knowledge-base-container .options-card{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;color:#f1f5f9}.dark-mode .knowledge-base-container .options-title{color:#94a3b8;border-bottom-color:#475569}.dark-mode .knowledge-base-container .option-item{color:#cbd5e1}.dark-mode .knowledge-base-container .option-item:hover{background:linear-gradient(90deg,#334155,#475569);color:#60a5fa}.dark-mode .knowledge-base-container .option-item.active{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#60a5fa}.dark-mode .knowledge-base-container .option-item.disabled{opacity:.5;cursor:not-allowed;color:#6b7280;background:#1f2937;pointer-events:none}.dark-mode .knowledge-base-container .option-item.disabled:hover{background:#1f2937;transform:none;color:#6b7280}.dark-mode .knowledge-base-container .option-item.disabled:before{display:none}.dark-mode .knowledge-base-container .kb-header{background:linear-gradient(135deg,#1e293b,#334155);box-shadow:0 10px 40px rgba(0,0,0,.3)}.dark-mode .knowledge-base-container .stat-card{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 4px 15px rgba(0,0,0,.3)}.dark-mode .knowledge-base-container .stat-card:hover{box-shadow:0 12px 35px rgba(0,0,0,.4);border-color:#60a5fa}.dark-mode .knowledge-base-container .stat-card-title{color:#94a3b8}.dark-mode .knowledge-base-container .stat-value{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .knowledge-base-container .stat-desc{color:#94a3b8}.dark-mode .knowledge-base-container .card{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;box-shadow:0 4px 15px rgba(0,0,0,.3)}.dark-mode .knowledge-base-container .card:hover{box-shadow:0 8px 25px rgba(0,0,0,.4)}.dark-mode .knowledge-base-container .card-header{border-bottom-color:#475569;background:linear-gradient(90deg,rgba(96,165,250,.1),rgba(59,130,246,.1))}.dark-mode .knowledge-base-container .card-title{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-mode .knowledge-base-container .activity-item{border-bottom-color:#334155}.dark-mode .knowledge-base-container .activity-text{color:#cbd5e1}.dark-mode .knowledge-base-container .activity-meta{color:#64748b}.permission-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.5),rgba(0,0,0,.7));backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeInOverlay .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeInOverlay{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(12px) saturate(180%)}}.permission-dialog{background:linear-gradient(135deg,hsla(0,0%,100%,.85),rgba(250,251,252,.85));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;box-shadow:0 32px 64px -12px rgba(0,0,0,.35),inset 0 0 0 1px hsla(0,0%,100%,.3),inset 0 1px 0 hsla(0,0%,100%,.6);width:460px;max-width:90vw;overflow:hidden;animation:slideUpScaleBounce .4s cubic-bezier(.34,1.56,.64,1);position:relative}.permission-dialog:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.8),transparent);pointer-events:none}@keyframes slideUpScaleBounce{0%{transform:translateY(40px) scale(.85);opacity:0}60%{transform:translateY(-5px) scale(1.02)}to{transform:translateY(0) scale(1);opacity:1}}.permission-dialog-header{padding:0;background:linear-gradient(135deg,rgba(102,126,234,.9),rgba(118,75,162,.9));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.permission-dialog-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent)}.permission-dialog-header-content{display:flex;align-items:center;padding:22px 28px 20px;flex:1}.permission-dialog-icon-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.25);backdrop-filter:blur(10px);border-radius:14px;margin-right:16px;box-shadow:0 4px 12px rgba(102,126,234,.3),inset 0 0 0 1px hsla(0,0%,100%,.3),inset 0 1px 2px rgba(0,0,0,.1);position:relative;border:1px solid hsla(0,0%,100%,.2)}.permission-dialog-icon-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:14px;background:linear-gradient(135deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.1));pointer-events:none}.permission-dialog-icon{width:26px;height:26px;color:#fff;stroke-width:2.5;position:relative;z-index:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.permission-dialog-title{font-size:20px;font-weight:700;color:#fff;flex:1;letter-spacing:.3px;text-shadow:0 1px 3px rgba(0,0,0,.2)}.permission-dialog-close{background:hsla(0,0%,100%,.2);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);padding:0;color:#fff;margin:16px 20px 16px 0;box-shadow:0 2px 8px rgba(0,0,0,.15);position:relative;overflow:hidden;flex-shrink:0}.permission-dialog-close:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.permission-dialog-close:hover:before{width:100%;height:100%}.permission-dialog-close svg{width:20px;height:20px;stroke-width:2.5;position:relative;z-index:1;transition:transform .25s ease}.permission-dialog-close:hover{background:hsla(0,0%,100%,.35);border-color:hsla(0,0%,100%,.5);box-shadow:0 4px 12px rgba(0,0,0,.2)}.permission-dialog-close:hover svg{transform:rotate(90deg)}.permission-dialog-body{padding:48px 32px 36px;text-align:center;background:linear-gradient(180deg,hsla(0,0%,100%,.7),rgba(250,251,252,.7));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative}.permission-dialog-body:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:4px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06),transparent);border-radius:0 0 2px 2px}.permission-dialog-main-icon{width:96px;height:96px;margin:0 auto 28px;display:flex;align-items:center;justify-content:center;position:relative;animation:iconFloat 3s ease-in-out infinite}.permission-dialog-icon-bg{background:linear-gradient(135deg,#667eea,#764ba2 50%,#5a67d8);box-shadow:0 12px 24px rgba(102,126,234,.35),inset 0 0 0 1px hsla(0,0%,100%,.2),inset 0 2px 4px rgba(0,0,0,.1);animation:iconBgPulse 2.5s ease-in-out infinite}.permission-dialog-icon-bg,.permission-dialog-icon-bg:before{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:24px}.permission-dialog-icon-bg:before{content:"";background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.3),transparent 70%);pointer-events:none}@keyframes iconFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}@keyframes iconBgPulse{0%,to{box-shadow:0 12px 24px rgba(102,126,234,.35),inset 0 0 0 1px hsla(0,0%,100%,.2),inset 0 2px 4px rgba(0,0,0,.1)}50%{box-shadow:0 16px 32px rgba(102,126,234,.45),inset 0 0 0 1px hsla(0,0%,100%,.3),inset 0 2px 4px rgba(0,0,0,.1)}}.permission-dialog-icon-svg{width:56px;height:56px;color:#fff;stroke-width:2.5;position:relative;z-index:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}.permission-dialog-message{margin:0;font-size:18px;color:#1a202c;line-height:1.65;font-weight:600;letter-spacing:.2px;text-shadow:0 1px 2px hsla(0,0%,100%,.8)}.permission-dialog-footer{padding:24px 32px 28px;display:flex;justify-content:center;background:linear-gradient(180deg,rgba(248,249,250,.7),hsla(0,0%,100%,.7));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.06);position:relative}.permission-dialog-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.8),transparent)}.permission-dialog-btn{background:linear-gradient(135deg,#3b82f6,#2563eb 50%,#1d4ed8);color:#fff;border:none;padding:14px 40px;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 16px rgba(59,130,246,.3),inset 0 0 0 1px hsla(0,0%,100%,.1),inset 0 1px 0 rgba(0,0,0,.1);letter-spacing:.4px;min-width:140px;position:relative;overflow:hidden}.permission-dialog-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);transition:left .5s ease}.permission-dialog-btn:hover:before{left:100%}.permission-dialog-btn span{position:relative;z-index:1}.permission-dialog-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8 50%,#1e40af);transform:translateY(-3px);box-shadow:0 10px 24px rgba(59,130,246,.4),inset 0 0 0 1px hsla(0,0%,100%,.15),inset 0 1px 0 rgba(0,0,0,.1)}.permission-dialog-btn:active{transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3),inset 0 0 0 1px hsla(0,0%,100%,.1)}.dark-mode .permission-dialog{background:linear-gradient(135deg,rgba(30,41,59,.85),rgba(15,23,42,.85));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#e2e8f0;box-shadow:0 32px 64px -12px rgba(0,0,0,.6),inset 0 0 0 1px hsla(0,0%,100%,.1),inset 0 1px 0 hsla(0,0%,100%,.05)}.dark-mode .permission-dialog-header{background:linear-gradient(135deg,rgba(76,81,191,.9),rgba(85,60,154,.9) 50%,rgba(107,70,193,.9));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dark-mode .permission-dialog-header:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.15),transparent)}.dark-mode .permission-dialog-icon-wrapper{background:hsla(0,0%,100%,.15);backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(102,126,234,.4),inset 0 0 0 1px hsla(0,0%,100%,.2),inset 0 1px 2px rgba(0,0,0,.2);border-color:hsla(0,0%,100%,.25)}.dark-mode .permission-dialog-icon-wrapper:before{background:linear-gradient(135deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.1))}.dark-mode .permission-dialog-icon{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.dark-mode .permission-dialog-title{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}.dark-mode .permission-dialog-close{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.25);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark-mode .permission-dialog-close:before{background:hsla(0,0%,100%,.2)}.dark-mode .permission-dialog-close:hover{background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.4);box-shadow:0 4px 12px rgba(0,0,0,.4)}.dark-mode .permission-dialog-body{background:linear-gradient(180deg,rgba(30,41,59,.7),rgba(15,23,42,.7));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dark-mode .permission-dialog-body:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent)}.dark-mode .permission-dialog-icon-bg{background:linear-gradient(135deg,#4c51bf,#553c9a 50%,#6b46c1);box-shadow:0 12px 24px rgba(102,126,234,.4),inset 0 0 0 1px hsla(0,0%,100%,.15),inset 0 2px 4px rgba(0,0,0,.3)}.dark-mode .permission-dialog-icon-bg:before{background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.25),transparent 70%)}.dark-mode .permission-dialog-icon-svg{color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.dark-mode .permission-dialog-message{color:#e2e8f0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.dark-mode .permission-dialog-footer{background:linear-gradient(180deg,rgba(15,23,42,.7),rgba(30,41,59,.7));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top-color:hsla(0,0%,100%,.1)}.dark-mode .permission-dialog-footer:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent)}.sidebar-file-preview{margin-top:16px;flex:1;display:flex;flex-direction:column;background:var(--bg-primary,#fff);border-radius:12px;border:1px solid var(--border-primary,#e5e7eb);padding:16px;min-height:0}.sidebar-file-header{padding-bottom:12px;border-bottom:1px solid var(--border-primary,#e5e7eb);margin-bottom:12px}.sidebar-file-title{font-size:14px;font-weight:600;color:var(--text-primary,#475569)}.sidebar-file-empty{flex:1;flex-direction:column;padding:32px 16px}.sidebar-empty-icon,.sidebar-file-empty{display:flex;align-items:center;justify-content:center}.sidebar-empty-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f0f7ff,#e0f2fe);color:#0ea5e9;margin-bottom:12px}.sidebar-empty-text{font-size:13px;color:var(--text-secondary,#94a3b8);margin:0}.sidebar-file-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.sidebar-ocr-entry{flex:0 0 auto;margin-top:12px}.sidebar-ocr-btn{width:100%;height:48px;display:flex;align-items:center;justify-content:center}.sidebar-file-item{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg-secondary,#f8fafc);border-radius:8px;border:1px solid var(--border-primary,#e5e7eb);transition:all .2s ease}.sidebar-file-item:hover{background:var(--bg-tertiary,#f1f5f9);border-color:var(--primary-color,#0ea5e9)}.sidebar-file-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:6px;color:#fff}.sidebar-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-file-name{font-size:13px;font-weight:500;color:var(--text-primary,#1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-file-size{font-size:11px;color:var(--text-secondary,#94a3b8)}.sidebar-file-remove{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.sidebar-file-remove:hover{background:#fee2e2;color:#dc2626}.dashboard-container [data-v-2d941eaa],.dashboard-container [data-v-2d941eaa]:after,.dashboard-container [data-v-2d941eaa]:before{animation:none!important;transition:none!important}.dashboard-container[data-v-2d941eaa]{position:relative;height:100vh;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:auto;background:var(--bg-secondary)}.dashboard-container[data-v-2d941eaa]::-webkit-scrollbar{width:0;height:0}.dashboard-section[data-v-2d941eaa]{position:relative;min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always;padding:24px;padding-bottom:100px;display:flex;flex-direction:column;overflow:visible}.kpi-section[data-v-2d941eaa]{position:relative;justify-content:center;align-items:center;padding:40px}.back-btn-topleft[data-v-2d941eaa]{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;border:none;background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);color:#3b82f6;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(59,130,246,.15),0 2px 4px rgba(0,0,0,.08);z-index:100}.back-btn-topleft[data-v-2d941eaa]:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(59,130,246,.25),0 3px 6px rgba(0,0,0,.12);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.back-btn-topleft .back-icon[data-v-2d941eaa]{transition:transform .3s ease}.back-btn-topleft:hover .back-icon[data-v-2d941eaa]{transform:translateX(-3px)}.page-title[data-v-2d941eaa]{position:absolute;top:32px;left:140px;font-size:22px!important;font-weight:700!important;margin:0!important;padding:0!important;color:#1e40af!important;letter-spacing:.5px!important;background:transparent!important;background-color:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;z-index:100}.kpi-content[data-v-2d941eaa]{max-width:1400px;width:100%;display:flex;justify-content:center;align-items:flex-start;position:relative;z-index:1;padding-top:40px}.dashboard-cards-wrapper[data-v-2d941eaa]{display:grid;grid-template-columns:340px 1fr;gap:24px;width:100%;max-width:1400px}.charts-section .dashboard-cards-wrapper[data-v-2d941eaa]{align-items:stretch}.stat-card-modern[data-v-2d941eaa]{background:var(--bg-primary,#fff);border-radius:20px;padding:24px 24px;box-shadow:0 20px 40px rgba(15,23,42,.08),0 4px 12px rgba(59,130,246,.05);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-primary,rgba(226,232,240,.8))}.stat-card-modern[data-v-2d941eaa]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);opacity:0;transition:opacity .3s ease}.stat-card-modern[data-v-2d941eaa]:hover{transform:translateY(-8px);box-shadow:0 28px 56px rgba(15,23,42,.12),0 8px 20px rgba(59,130,246,.15)}.stat-card-modern[data-v-2d941eaa]:hover:before{opacity:1}.stat-icon-wrapper[data-v-2d941eaa]{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(59,130,246,.3)}.stat-icon[data-v-2d941eaa]{color:#fff;stroke:#fff}.stat-content[data-v-2d941eaa]{display:flex;flex-direction:column;gap:8px}.stat-label[data-v-2d941eaa]{font-size:14px}.stat-value[data-v-2d941eaa]{font-size:36px;letter-spacing:-1px}.stat-description[data-v-2d941eaa]{font-size:14px;color:#94a3b8;font-weight:500}.stat-card-modern.completed-tasks .stat-icon-wrapper[data-v-2d941eaa]{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 24px rgba(16,185,129,.3)}.stat-card-modern.completed-tasks[data-v-2d941eaa]:before{background:linear-gradient(90deg,#10b981,#059669)}.chart-card-modern[data-v-2d941eaa]{background:var(--bg-primary,#fff);border-radius:20px;padding:20px;box-shadow:0 20px 40px rgba(15,23,42,.08),0 4px 12px rgba(59,130,246,.05);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(226,232,240,.8)}.chart-card-modern[data-v-2d941eaa]:hover{transform:translateY(-4px);box-shadow:0 28px 56px rgba(15,23,42,.12),0 8px 20px rgba(59,130,246,.15)}.chart-header[data-v-2d941eaa]{display:flex;flex-direction:column;gap:4px}.chart-title[data-v-2d941eaa]{font-size:20px;font-weight:700;color:#0f172a;margin:0}.chart-subtitle[data-v-2d941eaa]{font-size:13px;color:#94a3b8;font-weight:500}.chart-body[data-v-2d941eaa]{display:flex;flex-direction:column;gap:24px;flex:1}.pie-chart-wrapper[data-v-2d941eaa]{display:flex;align-items:center;justify-content:center;padding:20px 0}.pie-svg[data-v-2d941eaa]{width:100%;max-width:280px;height:280px;filter:drop-shadow(0 12px 24px rgba(15,23,42,.1))}.pie-svg path[data-v-2d941eaa]{transition:transform .3s ease,filter .3s ease;transform-origin:100px 100px;cursor:pointer}.pie-svg path[data-v-2d941eaa]:hover{transform:scale(1.08);filter:brightness(1.15)}.legend-modern[data-v-2d941eaa]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.legend-item-modern[data-v-2d941eaa]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-primary,#f8fafc);border-radius:12px;transition:all .3s ease;border:1px solid var(--border-primary,transparent)}.legend-item-modern[data-v-2d941eaa]:hover{background:var(--bg-tertiary,#f1f5f9);transform:translateX(4px)}.legend-dot[data-v-2d941eaa]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-text[data-v-2d941eaa]{font-size:13px;font-weight:600;color:var(--text-primary,#475569);flex:1}.legend-value[data-v-2d941eaa]{font-size:16px;font-weight:700;color:var(--text-primary,#111827)}.legend-percent[data-v-2d941eaa]{font-size:12px;font-weight:600;color:var(--text-secondary,#94a3b8);color:#94a3b8;padding:2px 8px;background:#fff;border-radius:6px}.legend-item-modern.pending-review .legend-dot[data-v-2d941eaa]{background:#60a5fa;box-shadow:0 2px 8px rgba(96,165,250,.3)}.legend-item-modern.doing .legend-dot[data-v-2d941eaa]{background:#3b82f6;box-shadow:0 2px 8px rgba(59,130,246,.3)}.legend-item-modern.blocked .legend-dot[data-v-2d941eaa]{background:#f59e0b;box-shadow:0 2px 8px rgba(245,158,11,.3)}.legend-item-modern.done .legend-dot[data-v-2d941eaa]{background:#10b981;box-shadow:0 2px 8px rgba(16,185,129,.3)}.charts-content-wrapper[data-v-2d941eaa]{max-width:1400px;width:100%;display:flex;flex-direction:column;gap:32px;position:relative;z-index:1}.charts-wrapper[data-v-2d941eaa]{padding:16px!important}.charts-grid[data-v-2d941eaa]{gap:16px}.charts-grid .card[data-v-2d941eaa]{margin:0}.task-list-compact[data-v-2d941eaa]{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.task-list-header[data-v-2d941eaa]{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.task-list-title[data-v-2d941eaa]{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.task-list-count[data-v-2d941eaa]{font-size:11px;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:4px 10px;border-radius:12px}.export-dropdown[data-v-2d941eaa]{position:relative;display:inline-block;z-index:10}.export-btn[data-v-2d941eaa]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(59,130,246,.2)}.export-btn[data-v-2d941eaa]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px rgba(59,130,246,.3);transform:translateY(-1px)}.export-btn[data-v-2d941eaa]:active{transform:translateY(0)}.export-btn svg[data-v-2d941eaa]{width:16px;height:16px;flex-shrink:0}.export-btn .dropdown-arrow[data-v-2d941eaa]{width:12px;height:12px;transition:transform .2s ease}.export-btn .dropdown-arrow.rotated[data-v-2d941eaa]{transform:rotate(180deg)}.export-menu[data-v-2d941eaa]{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.15);min-width:180px;z-index:1000;overflow:hidden;animation:none!important}@keyframes slideDown-2d941eaa{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.export-menu-item[data-v-2d941eaa]{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:all .2s ease;color:#475569;font-size:14px;font-weight:500}.export-menu-item[data-v-2d941eaa]:hover{background:#f1f5f9;color:#0f172a}.export-menu-item[data-v-2d941eaa]:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.export-menu-item[data-v-2d941eaa]:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.export-menu-item svg[data-v-2d941eaa]{width:16px;height:16px;flex-shrink:0;color:#64748b}.export-menu-item:hover svg[data-v-2d941eaa]{color:#3b82f6}.task-list-items[data-v-2d941eaa]{display:flex;flex-direction:column;gap:6px;max-height:350px;overflow-y:auto}.task-list-items[data-v-2d941eaa]::-webkit-scrollbar{width:4px}.task-list-items[data-v-2d941eaa]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.task-list-items[data-v-2d941eaa]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.task-list-items[data-v-2d941eaa]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.task-item-compact[data-v-2d941eaa]{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8fafc;border-radius:10px;transition:all .2s ease;border:1px solid transparent}.task-item-compact[data-v-2d941eaa]:hover{background:#f1f5f9;border-color:#e2e8f0}.task-item-status[data-v-2d941eaa]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-item-status.status-pending-review[data-v-2d941eaa],.task-item-status.status-todo[data-v-2d941eaa]{background:#60a5fa;box-shadow:0 0 8px rgba(96,165,250,.4)}.task-item-status.status-doing[data-v-2d941eaa]{background:#3b82f6;box-shadow:0 0 8px rgba(59,130,246,.4)}.task-item-status.status-blocked[data-v-2d941eaa]{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.4)}.task-item-status.status-done[data-v-2d941eaa]{background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.4)}.task-item-content[data-v-2d941eaa]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.task-item-name[data-v-2d941eaa]{color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-item-assignee[data-v-2d941eaa]{color:#64748b}.task-item-assignee svg[data-v-2d941eaa]{stroke:#94a3b8;flex-shrink:0}.task-list-more[data-v-2d941eaa]{text-align:center;padding:8px;font-size:12px;color:#64748b;font-weight:600}.kpi-title-section[data-v-2d941eaa]{text-align:center;position:relative}.title-decoration[data-v-2d941eaa]{width:60px;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px;margin:0 auto 20px;box-shadow:0 2px 8px rgba(59,130,246,.3)}.kpi-main-title[data-v-2d941eaa]{font-size:48px;font-weight:800;margin:0 0 12px;background:linear-gradient(135deg,#1e40af,#3b82f6 50%,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.kpi-subtitle[data-v-2d941eaa]{font-size:16px;color:#64748b;margin:0;font-weight:500}.charts-section[data-v-2d941eaa]{padding-top:50px;padding-bottom:40px;min-height:auto;height:100vh;overflow:hidden}.charts-section .stat-card-modern[data-v-2d941eaa]{padding:20px}.charts-section .stat-icon-wrapper[data-v-2d941eaa]{width:44px;height:44px}.charts-section .stat-value[data-v-2d941eaa]{font-size:32px}.charts-section .task-list-compact[data-v-2d941eaa]{margin-top:12px;padding-top:12px}.charts-section .task-list-items[data-v-2d941eaa]{max-height:350px}.timeline-section[data-v-2d941eaa]{justify-content:center;align-items:center;padding:60px 40px}.timeline-content[data-v-2d941eaa]{max-width:1000px;width:100%;position:relative;z-index:1}.timeline-dual-layout[data-v-2d941eaa]{max-width:1400px;width:100%;display:flex;gap:32px;position:relative;z-index:1}.timeline-left[data-v-2d941eaa],.timeline-right[data-v-2d941eaa]{flex:1;min-width:0}.commit-timeline[data-v-2d941eaa]{padding:24px!important;max-height:600px;overflow-y:auto}.commit-header[data-v-2d941eaa]{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:2px solid rgba(59,130,246,.2);margin-bottom:20px}.commit-header svg[data-v-2d941eaa]{color:#3b82f6}.commit-branch[data-v-2d941eaa]{font-size:16px;font-weight:700;color:#1e40af;padding:4px 12px;background:rgba(59,130,246,.1);border-radius:6px;border:1px solid rgba(59,130,246,.3)}.commit-author[data-v-2d941eaa]{font-size:14px;color:#64748b;margin-left:auto}.commit-list[data-v-2d941eaa]{list-style:none;padding:0;margin:0;position:relative}.commit-list[data-v-2d941eaa]:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#3b82f6,#8b5cf6)}.commit-item[data-v-2d941eaa]{display:flex;gap:16px;margin-bottom:24px;position:relative}.commit-dot[data-v-2d941eaa]{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:3px solid #fff;box-shadow:0 2px 8px rgba(59,130,246,.3);flex-shrink:0;position:relative;z-index:1}.commit-content[data-v-2d941eaa]{flex:1;padding-bottom:8px}.task-item-name[data-v-2d941eaa]{font-size:13px;font-weight:600;color:var(--text-primary,#0f172a);margin-bottom:2px}.task-item-assignee[data-v-2d941eaa]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary,#6b7280)}.commit-message[data-v-2d941eaa]{font-size:15px;font-weight:600;color:#0f172a;margin-bottom:6px;line-height:1.5}.commit-meta[data-v-2d941eaa]{display:flex;align-items:center;gap:12px;font-size:13px;color:#64748b}.commit-author-name[data-v-2d941eaa]{font-weight:500;color:#3b82f6}.commit-time[data-v-2d941eaa]{color:#94a3b8}.commit-timeline[data-v-2d941eaa]::-webkit-scrollbar{width:6px}.commit-timeline[data-v-2d941eaa]::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:3px}.commit-timeline[data-v-2d941eaa]::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f6,#8b5cf6);border-radius:3px}.commit-timeline[data-v-2d941eaa]::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2563eb,#7c3aed)}.commit-empty[data-v-2d941eaa]{text-align:center;padding:60px 20px;color:hsla(0,0%,100%,.4)}.commit-empty svg[data-v-2d941eaa]{margin-bottom:16px;opacity:.3;color:#94a3b8}.commit-empty p[data-v-2d941eaa]{font-size:14px;margin:0;color:#94a3b8}.milestone-task-info[data-v-2d941eaa]{flex:1}.milestone-members[data-v-2d941eaa]{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;color:#64748b}.milestone-members svg[data-v-2d941eaa]{color:#94a3b8;flex-shrink:0}.milestone-members span[data-v-2d941eaa]{color:#3b82f6;font-weight:500}.milestone-empty[data-v-2d941eaa]{text-align:center;padding:60px 20px;color:hsla(0,0%,100%,.4)}.milestone-empty svg[data-v-2d941eaa]{margin-bottom:16px;opacity:.3;color:#94a3b8}.milestone-empty p[data-v-2d941eaa]{font-size:14px;margin:0;color:#94a3b8}.achievements-section[data-v-2d941eaa]{justify-content:center;align-items:center;padding:40px 40px;min-height:100vh;display:flex;flex-direction:column}.achievements-content[data-v-2d941eaa]{max-width:1200px;width:100%;position:relative;z-index:1}.section-subtitle[data-v-2d941eaa]{font-size:14px;color:#64748b;margin:6px 0 0;font-weight:500;text-align:center}.achievements-section .section-header[data-v-2d941eaa]{margin-bottom:20px}.achievements-section .section-title[data-v-2d941eaa]{font-size:24px}.bg-canvas[data-v-2d941eaa]{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:normal}.back-btn[data-v-2d941eaa]{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:10px;border:none;background:linear-gradient(135deg,#fff,#f8fafc);color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(59,130,246,.1),0 1px 2px rgba(0,0,0,.05);position:relative;overflow:hidden}.back-btn[data-v-2d941eaa]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f6,#2563eb);opacity:0;transition:opacity .3s ease;border-radius:10px}.back-btn[data-v-2d941eaa]:hover:before{opacity:1}.back-btn[data-v-2d941eaa]:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(59,130,246,.25),0 4px 8px rgba(0,0,0,.1)}.back-btn[data-v-2d941eaa]:active{transform:translateY(0);box-shadow:0 2px 8px rgba(59,130,246,.15)}.back-icon[data-v-2d941eaa]{position:relative;z-index:1;transition:transform .3s ease}.back-btn:hover .back-icon[data-v-2d941eaa]{transform:translateX(-2px)}.back-text[data-v-2d941eaa]{position:relative;z-index:1;transition:color .3s ease}.back-btn:hover .back-text[data-v-2d941eaa]{color:#fff}.scroll-hint[data-v-2d941eaa]{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#64748b;font-size:14px;font-weight:500;animation:none!important;z-index:100;pointer-events:none}.scroll-hint svg[data-v-2d941eaa]{color:#3b82f6}@keyframes bounce-2d941eaa{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}.left-sidebar[data-v-2d941eaa],.right-sidebar[data-v-2d941eaa]{position:absolute;top:50%;transform:translateY(-50%);width:280px;height:600px;z-index:100;pointer-events:auto}.left-sidebar[data-v-2d941eaa]{left:20px}.right-sidebar[data-v-2d941eaa]{right:20px}.sidebar-panel[data-v-2d941eaa]{background:hsla(0,0%,100%,.95);backdrop-filter:blur(20px);border-radius:16px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:1px solid hsla(0,0%,100%,.3);height:100%;display:flex;flex-direction:column}.sidebar-header[data-v-2d941eaa]{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid rgba(59,130,246,.2)}.sidebar-header svg[data-v-2d941eaa]{color:#3b82f6;flex-shrink:0}.sidebar-header h4[data-v-2d941eaa]{font-size:16px;font-weight:600;color:#1e40af;margin:0;flex:1}.sidebar-count[data-v-2d941eaa]{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;min-width:24px;text-align:center}.sidebar-content[data-v-2d941eaa]{flex:1;overflow-y:auto;padding-right:4px;min-height:0}.sidebar-content[data-v-2d941eaa]::-webkit-scrollbar{width:4px}.sidebar-content[data-v-2d941eaa]::-webkit-scrollbar-track{background:rgba(59,130,246,.1);border-radius:2px}.sidebar-content[data-v-2d941eaa]::-webkit-scrollbar-thumb{background:rgba(59,130,246,.3);border-radius:2px}.sidebar-content[data-v-2d941eaa]::-webkit-scrollbar-thumb:hover{background:rgba(59,130,246,.5)}.sidebar-task-item[data-v-2d941eaa]{display:flex;align-items:flex-start;gap:10px;padding:10px;margin-bottom:8px;background:hsla(0,0%,100%,.5);border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid rgba(59,130,246,.1)}.sidebar-task-item[data-v-2d941eaa]:hover{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.3);transform:translateX(4px)}.task-status-dot[data-v-2d941eaa]{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.task-status-dot.status-todo[data-v-2d941eaa]{background:#93c5fd;box-shadow:0 0 8px rgba(147,197,253,.5)}.task-status-dot.status-doing[data-v-2d941eaa]{background:#60a5fa;box-shadow:0 0 8px rgba(96,165,250,.5)}.task-status-dot.status-blocked[data-v-2d941eaa]{background:#fbbf24;box-shadow:0 0 8px rgba(251,191,36,.5)}.task-status-dot.status-done[data-v-2d941eaa]{background:#34d399;box-shadow:0 0 8px rgba(52,211,153,.5)}.task-status-dot.status-review[data-v-2d941eaa]{background:#a855f7;box-shadow:0 0 8px rgba(168,85,247,.5)}.task-item-info[data-v-2d941eaa]{flex:1;min-width:0}.task-item-title[data-v-2d941eaa]{font-size:13px;font-weight:500;color:#1e40af;margin-bottom:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.task-item-meta[data-v-2d941eaa]{font-size:11px;color:#64748b}.sidebar-empty[data-v-2d941eaa]{text-align:center;padding:40px 20px;color:#94a3b8}.sidebar-empty p[data-v-2d941eaa]{margin:0;font-size:13px}@media (max-width:1680px){.left-sidebar[data-v-2d941eaa],.right-sidebar[data-v-2d941eaa]{width:260px}}@media (max-width:1440px){.left-sidebar[data-v-2d941eaa],.right-sidebar[data-v-2d941eaa]{width:220px}.left-sidebar[data-v-2d941eaa]{left:10px}.right-sidebar[data-v-2d941eaa]{right:10px}}@media (max-width:1024px){.left-sidebar[data-v-2d941eaa],.right-sidebar[data-v-2d941eaa]{display:none!important}}.section-header[data-v-2d941eaa]{margin-bottom:32px;position:relative;z-index:1}.section-title[data-v-2d941eaa]{font-size:28px;font-weight:700;color:#0f172a;margin:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.spacer[data-v-2d941eaa]{flex:1}.grid[data-v-2d941eaa]{display:grid;gap:32px;position:relative;z-index:1}.kpis[data-v-2d941eaa]{grid-template-columns:repeat(2,1fr);width:100%;max-width:900px;margin:0 auto}.kpi-card[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border:0;border-radius:24px;padding:40px 32px;position:relative;overflow:hidden;transform:translateZ(0);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 40px rgba(15,23,42,.08),0 4px 12px rgba(59,130,246,.05),inset 0 1px 0 hsla(0,0%,100%,.95),inset 0 -2px 0 rgba(226,232,240,.8)}.kpi-card.glow[data-v-2d941eaa]:before{content:"";position:absolute;inset:-2px;border-radius:24px;background:conic-gradient(from 180deg at 50% 50%,#3b82f6,#8b5cf6,#3b82f6);opacity:0;transition:opacity .4s ease;z-index:-1}.kpi-card[data-v-2d941eaa]:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 28px 56px rgba(15,23,42,.12),0 8px 20px rgba(59,130,246,.15)}.kpi-card:hover.glow[data-v-2d941eaa]:before{opacity:.15}.kpi-label[data-v-2d941eaa]{font-size:15px;color:#64748b;margin-bottom:16px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;position:relative;padding-left:20px}.kpi-label[data-v-2d941eaa]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:12px;height:12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:3px;box-shadow:0 2px 8px rgba(59,130,246,.3)}.kpi-value[data-v-2d941eaa]{font-size:56px;font-weight:800;color:#0f172a;text-shadow:0 4px 20px rgba(59,130,246,.12);letter-spacing:-1px;line-height:1;cursor:pointer;transition:all .3s ease}.kpi-value[data-v-2d941eaa]:hover{transform:scale(1.05);color:#3b82f6}.kpi-value .sub[data-v-2d941eaa]{font-size:20px;color:#6b7280;margin-left:8px;font-weight:600}.kpi-value.danger[data-v-2d941eaa]{color:#ef4444;text-shadow:0 4px 20px rgba(239,68,68,.2)}.kpi-value.danger[data-v-2d941eaa]:hover{color:#dc2626}.kpi-card-large[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border:0;border-radius:24px;padding:48px 40px;position:relative;overflow:hidden;transform:translateZ(0);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 40px rgba(15,23,42,.08),0 4px 12px rgba(59,130,246,.05),inset 0 1px 0 hsla(0,0%,100%,.95),inset 0 -2px 0 rgba(226,232,240,.8);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:200px}.kpi-card-large.glow[data-v-2d941eaa]:before{content:"";position:absolute;inset:-2px;border-radius:24px;background:conic-gradient(from 180deg at 50% 50%,#3b82f6,#8b5cf6,#3b82f6);opacity:0;transition:opacity .4s ease;z-index:-1}.kpi-card-large[data-v-2d941eaa]:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 28px 56px rgba(15,23,42,.12),0 8px 20px rgba(59,130,246,.15)}.kpi-card-large:hover.glow[data-v-2d941eaa]:before{opacity:.15}.completed-card[data-v-2d941eaa]{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.completed-card .kpi-label[data-v-2d941eaa]:before{background:linear-gradient(135deg,#10b981,#059669)}.completed-card .kpi-value[data-v-2d941eaa]{color:#065f46}.chart-in-kpi[data-v-2d941eaa]{min-height:400px}.charts[data-v-2d941eaa]{grid-template-columns:1fr 1fr 1fr;margin-top:8px;gap:28px}.card[data-v-2d941eaa]{background:linear-gradient(180deg,#fff,#fbfbff);border:0;border-radius:16px;padding:18px;color:#0f172a;backdrop-filter:blur(4px);box-shadow:0 16px 32px rgba(15,23,42,.1),inset 0 1px 0 hsla(0,0%,100%,.95),inset 0 -2px 0 #e2e8f0;display:flex;flex-direction:column;min-height:280px}.card-title[data-v-2d941eaa]{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:12px}.glass[data-v-2d941eaa]{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.gradient-border[data-v-2d941eaa]{position:relative}.gradient-border[data-v-2d941eaa]:before{content:"";position:absolute;inset:0;border-radius:16px;padding:2px;background:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,0)) border-box,linear-gradient(135deg,#cfe8ff,#b6e3ff 30%,#a5f3fc) border-box;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.gradient-border[data-v-2d941eaa]:after{content:"";position:absolute;inset:4px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(226,232,240,.9);pointer-events:none}.pie-chart[data-v-2d941eaa]{position:relative;width:100%;height:220px;display:flex;align-items:center;justify-content:center}.pie-chart svg[data-v-2d941eaa]{width:100%;max-width:240px;height:220px;filter:drop-shadow(0 12px 20px rgba(15,23,42,.12))}.pie-chart path[data-v-2d941eaa]{transition:transform .25s ease,filter .25s ease;transform-origin:100px 100px;cursor:pointer}.pie-chart path[data-v-2d941eaa]:hover{transform:scale(1.05);filter:brightness(1.1)}.pie-empty[data-v-2d941eaa]{height:220px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#94a3b8;background:linear-gradient(180deg,#f8fafc,#fff);border-radius:12px}.legend[data-v-2d941eaa]{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.legend-item[data-v-2d941eaa]{font-size:12px;color:#0f172a;padding:4px 12px;border-radius:999px;border:1px solid transparent;background:#f8fafc;box-shadow:inset 0 1px 2px hsla(0,0%,100%,.65)}.legend-item.todo[data-v-2d941eaa]{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.legend-item.doing[data-v-2d941eaa]{background:#dbeafe;border-color:#60a5fa;color:#1e3a8a}.legend-item.blocked[data-v-2d941eaa]{background:#fef3c7;border-color:#fbbf24;color:#92400e}.legend-item.done[data-v-2d941eaa]{background:#d1fae5;border-color:#34d399;color:#065f46}.treemap-container[data-v-2d941eaa]{display:flex;flex-wrap:wrap;gap:8px;min-height:100px;padding:12px;align-content:flex-start;position:relative;overflow:visible}.treemap-container[data-v-2d941eaa]::-webkit-scrollbar{width:0;height:0}.treemap-block[data-v-2d941eaa]{position:relative;border-radius:8px;padding:10px;cursor:pointer;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:70px;min-height:50px;animation:none!important}.treemap-block[data-v-2d941eaa]:first-child{animation-delay:0s}.treemap-block[data-v-2d941eaa]:nth-child(2){animation-delay:.1s}.treemap-block[data-v-2d941eaa]:nth-child(3){animation-delay:.2s}.treemap-block[data-v-2d941eaa]:nth-child(4){animation-delay:.3s}.treemap-block[data-v-2d941eaa]:nth-child(5){animation-delay:.4s}.treemap-block[data-v-2d941eaa]:nth-child(n+6){animation-delay:.5s}.treemap-block.no-animation[data-v-2d941eaa]{animation:none!important;opacity:0!important;transform:scaleY(0)!important;transform-origin:bottom!important}.treemap-block.selected[data-v-2d941eaa]{position:absolute!important;top:8px;left:8px;right:8px;bottom:8px;width:auto!important;height:auto!important;min-height:150px!important;flex-basis:auto!important;flex-grow:0!important;z-index:100;margin:0;transform:none!important;box-shadow:0 10px 40px rgba(0,0,0,.25);animation:none!important}.treemap-block.hidden[data-v-2d941eaa]{opacity:0;transform:none!important;pointer-events:none;animation:none!important}@keyframes treemapFadeIn-2d941eaa{0%{opacity:0;transform:scaleY(0);transform-origin:bottom}50%{opacity:1;transform:scaleY(1);transform-origin:bottom}to{opacity:1;transform:scaleY(1) scale(1);transform-origin:center}}.treemap-block[data-v-2d941eaa]:hover{transform:scale(1.05);box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:10}.treemap-block[data-v-2d941eaa]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,0));pointer-events:none}.treemap-content[data-v-2d941eaa]{position:relative;z-index:1;text-align:center;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);transition:all .3s ease}.treemap-name[data-v-2d941eaa]{font-size:12px;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;transition:all .3s ease}.treemap-block.selected .treemap-name[data-v-2d941eaa]{font-size:28px;margin-bottom:12px;max-width:none}.treemap-value[data-v-2d941eaa]{font-size:20px;font-weight:700;transition:all .3s ease}.treemap-block.selected .treemap-value[data-v-2d941eaa]{font-size:48px;font-weight:800}.total-worktime[data-v-2d941eaa]{font-size:14px;color:#6b7280;font-weight:400;margin-left:12px}.member-detail-modal[data-v-2d941eaa]{max-width:500px;width:90%}.member-detail-info[data-v-2d941eaa]{display:flex;flex-direction:column;gap:16px}.detail-item[data-v-2d941eaa]{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border-radius:8px}.detail-label[data-v-2d941eaa]{font-weight:500;color:#6b7280}.detail-value[data-v-2d941eaa]{font-weight:600;color:#1f2937}.detail-value.highlight[data-v-2d941eaa]{color:#3b82f6;font-size:18px}.bar-chart-container[data-v-2d941eaa]{display:flex;flex-direction:column;gap:16px;min-height:240px;justify-content:flex-end;margin-top:auto}.bar-chart[data-v-2d941eaa]{display:flex;align-items:flex-end;height:200px;gap:12px;padding:0 12px;min-height:200px;justify-content:center;flex:0 0 auto}.bar-wrap[data-v-2d941eaa]{position:relative;flex:1;max-width:80px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;height:100%}.bar[data-v-2d941eaa]{width:100%;min-width:32px;max-width:60px;background:linear-gradient(180deg,#60a5fa,#3b82f6 50%,#2563eb);border-radius:8px 8px 0 0;height:var(--h);min-height:20px;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(59,130,246,.25),0 2px 4px rgba(59,130,246,.15);cursor:pointer;flex-shrink:0;position:relative;overflow:hidden}.bar[data-v-2d941eaa]:before{content:"";position:absolute;top:0;left:0;right:0;height:30%;background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,0));border-radius:8px 8px 0 0}.bar[data-v-2d941eaa]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:hsla(0,0%,100%,.3)}.bar[data-v-2d941eaa]:hover{background:linear-gradient(180deg,#7dd3fc,#60a5fa 50%,#3b82f6);box-shadow:0 8px 20px rgba(59,130,246,.35),0 4px 8px rgba(59,130,246,.2);transform:translateY(-4px) scale(1.05)}.bar-placeholder[data-v-2d941eaa]{width:100%;min-width:32px;max-width:60px;height:0;flex-shrink:0}.bar-label[data-v-2d941eaa]{font-size:11px;font-weight:700;color:#1e40af;background:linear-gradient(180deg,#fff,#f8fafc);padding:4px 8px;border-radius:6px;border:1.5px solid #dbeafe;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);position:absolute;bottom:calc(100% + 6px);z-index:10;backdrop-filter:blur(4px)}.bar-names[data-v-2d941eaa]{display:flex;gap:12px;padding:0 12px 8px;justify-content:center;align-items:center;flex:0 0 auto}.bar-name[data-v-2d941eaa]{font-size:12px;color:#475569;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;max-width:80px;font-weight:600;padding:4px 0;letter-spacing:.3px}.bar-chart-empty[data-v-2d941eaa]{height:200px;display:flex;align-items:center;justify-content:center}.empty-text[data-v-2d941eaa]{font-size:14px;color:#94a3b8}.line-chart[data-v-2d941eaa]{padding:20px 20px 30px 20px;position:relative;overflow:visible}.line-chart-empty[data-v-2d941eaa],.line-chart[data-v-2d941eaa]{height:220px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px dashed #e5e7eb;border-radius:8px;display:flex;align-items:center;justify-content:center}.line-chart svg[data-v-2d941eaa]{max-width:500px;width:90%;height:160px;overflow:visible;margin:0 auto}.line-area[data-v-2d941eaa]{opacity:.6;transition:opacity .3s ease}.line[data-v-2d941eaa]{stroke-dasharray:200;stroke-dashoffset:0;animation:none;filter:drop-shadow(0 2px 4px rgba(59,130,246,.2))}.line-point[data-v-2d941eaa]{filter:drop-shadow(0 2px 4px rgba(59,130,246,.3));transition:all .3s ease;cursor:pointer}.line-point[data-v-2d941eaa]:hover{r:3.5;fill:#2563eb}.line-label[data-v-2d941eaa]{font-size:5px;fill:#1e40af;font-weight:700;text-anchor:middle;pointer-events:none}.line-date[data-v-2d941eaa]{font-size:4.5px;fill:#64748b;font-weight:600;text-anchor:middle;pointer-events:none}.timeline[data-v-2d941eaa]{width:100%;padding:48px 40px!important}.timeline .steps[data-v-2d941eaa]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:32px}.timeline .steps li[data-v-2d941eaa]{display:flex;align-items:center;gap:24px;padding:24px;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:16px;transition:all .3s ease;position:relative;overflow:hidden}.timeline .steps li[data-v-2d941eaa]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#3b82f6,#8b5cf6);transition:width .3s ease}.timeline .steps li[data-v-2d941eaa]:hover{transform:translateX(8px);box-shadow:0 8px 24px rgba(59,130,246,.15)}.timeline .steps li[data-v-2d941eaa]:hover:before{width:8px}.timeline .steps .name[data-v-2d941eaa]{font-weight:700;color:#0f172a;font-size:18px;flex:1}.timeline .steps .date[data-v-2d941eaa]{font-size:15px;color:#64748b;font-weight:600;padding:8px 16px;background:rgba(59,130,246,.1);border-radius:8px}.timeline .steps li.done[data-v-2d941eaa]:before{background:linear-gradient(180deg,#10b981,#059669)}.timeline .steps li.processing[data-v-2d941eaa]:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.timeline .steps li.todo[data-v-2d941eaa]:before{background:linear-gradient(180deg,#94a3b8,#64748b)}.achievements-content[data-v-2d941eaa]{display:flex;flex-direction:column;gap:24px}.stats-overview[data-v-2d941eaa]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 6px 20px rgba(15,23,42,.06);transition:all .3s ease;position:relative;overflow:hidden}.stat-card[data-v-2d941eaa]:before{content:"";position:absolute;inset:-2px;border-radius:20px;background:conic-gradient(from 180deg at 50% 50%,#3b82f6,#8b5cf6,#3b82f6);opacity:0;transition:opacity .3s ease;z-index:-1}.stat-card[data-v-2d941eaa]:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(15,23,42,.12)}.stat-card[data-v-2d941eaa]:hover:before{opacity:.1}.stat-icon[data-v-2d941eaa]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-icon svg[data-v-2d941eaa]{width:20px;height:20px}.stat-info[data-v-2d941eaa]{flex:1}.stat-label[data-v-2d941eaa]{font-size:12px;color:#64748b;font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-2d941eaa]{font-size:24px;font-weight:800;color:#0f172a;line-height:1}.stat-value-small[data-v-2d941eaa]{font-size:14px;font-weight:700}.achievements-grid[data-v-2d941eaa]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.achievement-card[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.08);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer}.achievement-card[data-v-2d941eaa]:before{content:"";position:absolute;inset:-2px;border-radius:20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);opacity:0;transition:opacity .3s ease;z-index:-1}.achievement-card[data-v-2d941eaa]:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 40px rgba(15,23,42,.15)}.achievement-card[data-v-2d941eaa]:hover:before{opacity:.08}.achievement-header[data-v-2d941eaa]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.achievement-type-badge[data-v-2d941eaa]{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-paper[data-v-2d941eaa]{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.badge-patent[data-v-2d941eaa]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.badge-dataset[data-v-2d941eaa]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.badge-model[data-v-2d941eaa]{background:linear-gradient(135deg,#e9d5ff,#d8b4fe);color:#6b21a8}.badge-report[data-v-2d941eaa]{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#991b1b}.badge-custom[data-v-2d941eaa]{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3}.badge-default[data-v-2d941eaa]{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569}.achievement-date[data-v-2d941eaa]{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;font-weight:500}.achievement-date svg[data-v-2d941eaa]{color:#94a3b8}.achievement-title[data-v-2d941eaa]{font-size:18px;font-weight:700;color:#0f172a;margin:0 0 20px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.achievement-footer[data-v-2d941eaa]{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid #e2e8f0}.achievement-owner[data-v-2d941eaa]{display:flex;align-items:center;gap:10px}.owner-avatar[data-v-2d941eaa]{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:0 2px 8px rgba(59,130,246,.3)}.owner-name[data-v-2d941eaa]{font-size:14px;font-weight:600;color:#475569}.achievement-empty[data-v-2d941eaa]{height:300px;flex-direction:column;gap:16px}.achievement-empty svg[data-v-2d941eaa]{opacity:.3}.achievement-empty .empty-text[data-v-2d941eaa]{font-size:16px;color:#94a3b8;font-weight:500}.achievements-section .dashboard-cards-wrapper[data-v-2d941eaa]{align-items:stretch}.achievements-section .stat-card-modern[data-v-2d941eaa]{flex:none;width:auto}.achievements-section .chart-card-modern[data-v-2d941eaa]{flex:1;min-width:0}.achievements-list-card[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;padding:20px;box-shadow:0 16px 32px rgba(15,23,42,.08);display:flex;flex-direction:column;overflow:hidden}.achievements-list-card .task-list-items[data-v-2d941eaa]{max-height:240px;overflow-y:auto}.achievements-list-card .task-list-compact[data-v-2d941eaa]{flex:1;min-height:0;display:flex;flex-direction:column}.achievement-list-empty[data-v-2d941eaa]{display:flex;align-items:center;justify-content:center;min-height:150px;color:#94a3b8}.achievement-type-badge-small[data-v-2d941eaa]{padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.task-item-status.status-paper[data-v-2d941eaa]{background:#3b82f6;box-shadow:0 0 8px rgba(59,130,246,.4)}.task-item-status.status-patent[data-v-2d941eaa]{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.4)}.task-item-status.status-dataset[data-v-2d941eaa]{background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.4)}.task-item-status.status-model[data-v-2d941eaa]{background:#8b5cf6;box-shadow:0 0 8px rgba(139,92,246,.4)}.task-item-status.status-report[data-v-2d941eaa]{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.4)}.task-item-status.status-custom[data-v-2d941eaa]{background:#6366f1;box-shadow:0 0 8px rgba(99,102,241,.4)}.task-item-status.status-default[data-v-2d941eaa]{background:#64748b;box-shadow:0 0 8px rgba(100,116,139,.4)}.member-contribution-chart[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;padding:20px;box-shadow:0 16px 32px rgba(15,23,42,.08);display:flex;flex-direction:column}.member-contribution-chart .chart-header[data-v-2d941eaa]{margin-bottom:12px}.member-contribution-chart .chart-title[data-v-2d941eaa]{font-size:16px;font-weight:700;color:#0f172a;margin:0 0 4px}.member-contribution-chart .chart-subtitle[data-v-2d941eaa]{font-size:12px;color:#64748b;font-weight:500}.member-contribution-chart .chart-body[data-v-2d941eaa]{flex:1;display:flex;flex-direction:column;min-height:0}.stacked-area-chart[data-v-2d941eaa]{width:100%;height:320px;margin-bottom:12px;flex-shrink:0}.contribution-svg[data-v-2d941eaa]{width:100%;height:100%}.area-path[data-v-2d941eaa]{transition:all .3s ease;cursor:pointer;transform-origin:center bottom}.stacked-area-chart .area-path[data-v-2d941eaa]{opacity:1!important;transform:scaleY(1)!important;animation:none!important}@keyframes areaGrowUp-2d941eaa{0%{opacity:0;transform:scaleY(0)}60%{transform:scaleY(1.02)}to{opacity:1;transform:scaleY(1)}}.area-path.wiki-area.active[data-v-2d941eaa]{filter:brightness(1.1)}.area-path.achievement-area.dimmed[data-v-2d941eaa]{filter:brightness(.6);opacity:.7}.area-path.achievement-area.active[data-v-2d941eaa]{filter:brightness(1.1)}.area-path.wiki-area.dimmed[data-v-2d941eaa]{filter:brightness(.6);opacity:.7}.axis-label[data-v-2d941eaa]{font-size:10px;fill:#64748b;font-weight:500}.chart-empty[data-v-2d941eaa]{height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc,#fff);border:1px dashed #e5e7eb;border-radius:12px}.contribution-legend[data-v-2d941eaa]{display:flex;gap:24px;justify-content:center;padding-top:12px;border-top:1px solid #e2e8f0}.contribution-legend .legend-item-modern[data-v-2d941eaa]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f8fafc;border-radius:10px}.contribution-legend .legend-dot[data-v-2d941eaa]{width:10px;height:10px;border-radius:50%}.contribution-legend .legend-text[data-v-2d941eaa]{font-size:13px;font-weight:600;color:#475569}.contribution-legend .legend-value[data-v-2d941eaa]{font-size:14px;font-weight:700;color:#0f172a}@media (max-width:1200px){.achievements-section .dashboard-cards-wrapper[data-v-2d941eaa]{grid-template-columns:1fr}.achievements-section .chart-card-modern[data-v-2d941eaa],.achievements-section .stat-card-modern[data-v-2d941eaa]{width:100%}}.table[data-v-2d941eaa]{width:100%;border-collapse:collapse}.table th[data-v-2d941eaa]{border-bottom:2px solid #e2e8f0;padding:16px 12px;text-align:left;font-size:15px;color:#475569;font-weight:700;background:linear-gradient(180deg,#f8fafc,#fff);text-transform:uppercase;letter-spacing:.5px}.table td[data-v-2d941eaa]{border-bottom:1px solid #f1f5f9;padding:16px 12px;text-align:left;font-size:15px;color:#334155;transition:background .2s ease}.table tbody tr:hover td[data-v-2d941eaa]{background:rgba(59,130,246,.05)}.badge[data-v-2d941eaa]{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge.success[data-v-2d941eaa]{background:#dcfce7;color:#15803d}.badge.warning[data-v-2d941eaa]{background:#fef9c3;color:#a16207}.badge.draft[data-v-2d941eaa]{background:#e5e7eb;color:#4b5563}.badge.obsolete[data-v-2d941eaa]{background:#f3f4f6;color:#6b7280}.achievement-empty[data-v-2d941eaa]{height:200px;display:flex;align-items:center;justify-content:center}@media (max-width:1024px){.kpis[data-v-2d941eaa]{grid-template-columns:1fr 1fr}.charts[data-v-2d941eaa]{grid-template-columns:1fr}}@keyframes dash-2d941eaa{to{stroke-dashoffset:0}}.tooltip[data-v-2d941eaa]{position:fixed;z-index:10;pointer-events:none;background:#111827;color:#fff;border-radius:8px;padding:8px 10px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.tooltip-title[data-v-2d941eaa]{font-size:12px;color:#cbd5e1;margin-bottom:4px}.tooltip-value[data-v-2d941eaa]{font-size:14px;font-weight:700}.tooltip-task-list[data-v-2d941eaa]{max-width:260px;max-height:260px;overflow:auto;margin-top:4px;padding-right:4px}.tooltip-task-list ul[data-v-2d941eaa]{list-style:none;margin:0;padding:0}.tooltip-task-item[data-v-2d941eaa]{padding:4px 0;border-bottom:1px solid rgba(148,163,184,.35)}.tooltip-task-item[data-v-2d941eaa]:last-child{border-bottom:none}.tooltip-task-item .task-title[data-v-2d941eaa]{font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#fff}.tooltip-task-item .task-title .task-owner[data-v-2d941eaa]{font-size:12px;color:rgba(226,232,240,.9);margin-left:4px}.tooltip-task-item .task-meta[data-v-2d941eaa]{font-size:11px;color:#9ca3af;margin-top:2px}.tooltip-empty[data-v-2d941eaa]{font-size:12px;color:#9ca3af;padding:4px 0}.member-submission-section[data-v-2d941eaa]{justify-content:center;align-items:center;padding:60px 40px}.member-submission-section .dashboard-cards-wrapper[data-v-2d941eaa]{align-items:stretch}.member-submission-section .stat-card-modern[data-v-2d941eaa]{flex:none;width:auto}.member-submission-section .chart-card-modern[data-v-2d941eaa]{flex:1;min-width:0}.submission-stats-card[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;padding:20px;box-shadow:0 16px 32px rgba(15,23,42,.08);display:flex;flex-direction:column;overflow:hidden}.submission-stats-card .task-list-items[data-v-2d941eaa]{max-height:350px;overflow-y:auto}.submission-time-badge[data-v-2d941eaa]{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1;flex-shrink:0}.submission-timeline-card[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;padding:20px;box-shadow:0 16px 32px rgba(15,23,42,.08)}.submission-timeline-list[data-v-2d941eaa]{display:flex;flex-direction:column;gap:0;max-height:400px;overflow-y:auto;padding:10px 0}.submission-timeline-item[data-v-2d941eaa]{display:flex;align-items:flex-start;gap:16px;padding:12px 0;position:relative}.submission-timeline-item .timeline-dot[data-v-2d941eaa]{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:4px;box-shadow:0 0 0 4px rgba(16,185,129,.2)}.submission-timeline-item .timeline-line[data-v-2d941eaa]{position:absolute;left:5px;top:28px;width:2px;height:calc(100% - 4px);background:linear-gradient(180deg,#e2e8f0,#f1f5f9)}.submission-timeline-item .timeline-content[data-v-2d941eaa]{flex:1;min-width:0}.submission-timeline-item .timeline-task-name[data-v-2d941eaa]{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submission-timeline-item .timeline-meta[data-v-2d941eaa]{display:flex;align-items:center;gap:12px;font-size:12px;color:#64748b}.submission-timeline-item .timeline-submitter[data-v-2d941eaa]{display:flex;align-items:center;gap:4px}.submission-timeline-item .timeline-time[data-v-2d941eaa]{color:#94a3b8}@media (max-width:1200px){.member-submission-section .dashboard-cards-wrapper[data-v-2d941eaa]{grid-template-columns:1fr}.member-submission-section .chart-card-modern[data-v-2d941eaa],.member-submission-section .stat-card-modern[data-v-2d941eaa]{width:100%}}.member-tasks-list-card[data-v-2d941eaa]{min-height:auto;max-height:calc(100vh - 180px);padding:16px!important}.member-list-header[data-v-2d941eaa]{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06)}.stat-icon-wrapper.small[data-v-2d941eaa]{width:36px;height:36px;padding:8px}.stat-content.compact[data-v-2d941eaa]{flex:1}.stat-content.compact .stat-label[data-v-2d941eaa]{font-size:12px;margin-bottom:2px}.stat-value-row[data-v-2d941eaa]{display:flex;align-items:baseline;gap:4px}.stat-value.small[data-v-2d941eaa]{font-size:24px}.stat-value-row .stat-description[data-v-2d941eaa]{font-size:12px;color:#64748b}.member-tasks-list-card .task-list-compact[data-v-2d941eaa]{max-height:calc(100vh - 320px);overflow-y:auto}.member-task-item[data-v-2d941eaa]{display:flex;align-items:center;gap:10px;padding:8px 10px!important}.member-avatar[data-v-2d941eaa]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.12)}.member-task-item .task-item-content[data-v-2d941eaa]{flex:1;min-width:0}.member-task-item .task-item-name[data-v-2d941eaa]{font-weight:600;font-size:13px;color:#1e293b;margin-bottom:2px}.task-item-stats[data-v-2d941eaa]{display:flex;gap:8px;flex-wrap:wrap}.stat-badge[data-v-2d941eaa]{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:500}.stat-badge.total[data-v-2d941eaa]{background:rgba(245,158,11,.15);color:#d97706}.stat-badge.completed[data-v-2d941eaa]{background:rgba(16,185,129,.15);color:#059669}.stat-badge svg[data-v-2d941eaa]{width:10px;height:10px}.completion-rate[data-v-2d941eaa]{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;flex-shrink:0}.completion-rate.rate-high[data-v-2d941eaa]{background:rgba(16,185,129,.15);color:#059669}.completion-rate.rate-medium[data-v-2d941eaa]{background:rgba(245,158,11,.15);color:#d97706}.completion-rate.rate-low[data-v-2d941eaa]{background:rgba(239,68,68,.15);color:#dc2626}.member-list-empty[data-v-2d941eaa]{padding:40px 20px;text-align:center}.charts-wrapper[data-v-2d941eaa]{display:flex;flex-direction:column;height:100%}.charts-grid[data-v-2d941eaa]{display:flex;flex-direction:column;gap:8px;flex:1;height:calc(100vh - 200px);max-height:600px}.charts-grid .chart-item[data-v-2d941eaa]{flex:1;height:50%;max-height:280px;padding:10px;display:flex;flex-direction:column;overflow:hidden}.charts-grid .chart-item .bidirectional-bar-chart[data-v-2d941eaa],.charts-grid .chart-item .task-timeline-scatter[data-v-2d941eaa]{flex:1;max-height:180px}.charts-grid .chart-item svg[data-v-2d941eaa]{width:100%;height:100%;max-height:160px}.charts-grid .card-title[data-v-2d941eaa]{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:6px;flex-shrink:0}.timeline-chart-item[data-v-2d941eaa]{padding-top:8px!important;overflow:visible!important}.timeline-chart-item .timeline-title[data-v-2d941eaa]{margin-bottom:2px}.timeline-chart-item .task-timeline-scatter[data-v-2d941eaa]{margin-top:0;overflow:visible}.timeline-chart-item .timeline-scatter-svg[data-v-2d941eaa]{overflow:visible}.member-task-chart-card[data-v-2d941eaa]{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;padding:24px;box-shadow:0 16px 32px rgba(15,23,42,.08);width:100%;display:flex;flex-direction:column}.member-task-chart-card .chart-body[data-v-2d941eaa]{flex:1;display:flex;flex-direction:column;justify-content:center}.bidirectional-bar-chart[data-v-2d941eaa]{width:100%;overflow-x:auto;padding:5px 0}.member-task-svg[data-v-2d941eaa]{width:100%;max-width:100%;height:auto;max-height:320px}.member-task-svg .bar-completed[data-v-2d941eaa],.member-task-svg .bar-total[data-v-2d941eaa]{transition:opacity .3s ease,filter .3s ease;cursor:pointer}.member-task-svg .bar-total[data-v-2d941eaa]{transform-origin:center bottom;filter:drop-shadow(0 2px 4px rgba(245,158,11,.3));transition:filter .3s ease,opacity .3s ease}.member-task-svg .bar-completed[data-v-2d941eaa]{transform-origin:center top;filter:drop-shadow(0 2px 4px rgba(239,68,68,.3));transition:filter .3s ease,opacity .3s ease}.member-task-svg .bars:not(.bars-animated) .bar-completed[data-v-2d941eaa],.member-task-svg .bars:not(.bars-animated) .bar-total[data-v-2d941eaa]{transform:scaleY(1);opacity:1}.member-task-svg .bars.bars-animated .bar-total[data-v-2d941eaa]{animation:barGrowUp-2d941eaa .8s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:inherit}.member-task-svg .bars.bars-animated .bar-completed[data-v-2d941eaa]{animation:barGrowDown-2d941eaa .8s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:inherit}.member-task-svg .bars.bars-animated>g[data-v-2d941eaa]{--bar-delay:var(--delay,0s)}.member-task-svg .bars.bars-animated>g .bar-total[data-v-2d941eaa]{animation-delay:var(--delay,0s)}.member-task-svg .bars.bars-animated>g .bar-completed[data-v-2d941eaa]{animation-delay:calc(var(--delay, 0s) + .15s)}@keyframes barGrowUp-2d941eaa{0%{transform:scaleY(0);opacity:0}20%{opacity:1}70%{transform:scaleY(1.08)}85%{transform:scaleY(.96)}to{transform:scaleY(1);opacity:1}}@keyframes barGrowDown-2d941eaa{0%{transform:scaleY(0);opacity:0}20%{opacity:1}70%{transform:scaleY(1.08)}85%{transform:scaleY(.96)}to{transform:scaleY(1);opacity:1}}.member-task-svg .bar-total[data-v-2d941eaa]:hover{filter:drop-shadow(0 4px 12px rgba(245,158,11,.5)) brightness(1.1);cursor:pointer}.member-task-svg .bar-completed[data-v-2d941eaa]:hover{filter:drop-shadow(0 4px 12px rgba(239,68,68,.5)) brightness(1.1);cursor:pointer}.member-task-svg .bars.hover-total .bar-completed[data-v-2d941eaa]{opacity:.35;filter:drop-shadow(0 1px 2px rgba(239,68,68,.15)) brightness(.8)}.member-task-svg .bars.hover-completed .bar-total[data-v-2d941eaa]{opacity:.35;filter:drop-shadow(0 1px 2px rgba(245,158,11,.15)) brightness(.8)}.member-task-svg .axis-label[data-v-2d941eaa]{font-size:11px;fill:#64748b;font-weight:500}.member-task-svg .member-name-label[data-v-2d941eaa]{font-size:12px;fill:#334155;font-weight:600}.member-task-legend[data-v-2d941eaa]{display:flex;gap:16px;justify-content:center;flex-shrink:0;padding-top:8px;margin-top:8px;border-top:1px solid #e2e8f0}.member-task-legend .legend-item-modern[data-v-2d941eaa]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#f8fafc;border-radius:10px}.member-task-legend .legend-dot[data-v-2d941eaa]{width:10px;height:10px;border-radius:2px}.member-task-legend .legend-text[data-v-2d941eaa]{font-size:11px;color:#475569;font-weight:500}.bidirectional-bar-chart[data-v-2d941eaa]{position:relative}.member-task-tooltip-fixed[data-v-2d941eaa]{position:fixed;z-index:9999;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.25);pointer-events:none;min-width:140px;animation:tooltipFadeIn-2d941eaa .15s ease-out}.member-task-tooltip-fixed .tooltip-header[data-v-2d941eaa]{font-size:14px;font-weight:600;color:#f1f5f9;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid hsla(0,0%,100%,.15)}.member-task-tooltip-fixed .tooltip-content[data-v-2d941eaa]{display:flex;justify-content:space-between;align-items:center;gap:12px}.member-task-tooltip-fixed .tooltip-label[data-v-2d941eaa]{font-size:12px;color:#94a3b8}.member-task-tooltip-fixed .tooltip-value[data-v-2d941eaa]{font-size:18px;font-weight:700;color:#fbbf24}.member-task-tooltip[data-v-2d941eaa]{position:absolute;z-index:100;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.25);pointer-events:none;min-width:140px;transform:translateY(-10px);animation:tooltipFadeIn-2d941eaa .15s ease-out}@keyframes tooltipFadeIn-2d941eaa{0%{opacity:0;transform:translateY(0)}to{opacity:1;transform:translateY(-10px)}}.member-task-tooltip .tooltip-header[data-v-2d941eaa]{font-size:14px;font-weight:600;color:#f1f5f9;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid hsla(0,0%,100%,.15)}.member-task-tooltip .tooltip-content[data-v-2d941eaa]{display:flex;justify-content:space-between;align-items:center;gap:12px}.member-task-tooltip .tooltip-label[data-v-2d941eaa]{font-size:12px;color:#94a3b8}.member-task-tooltip .tooltip-value[data-v-2d941eaa]{font-size:18px;font-weight:700;color:#fbbf24}.task-timeline-card[data-v-2d941eaa]{margin-top:0}.task-timeline-scatter[data-v-2d941eaa]{position:relative;width:100%;padding:10px 0}.timeline-scatter-svg[data-v-2d941eaa]{width:100%;height:auto;max-height:350px}.timeline-scatter-svg .axis-label[data-v-2d941eaa]{font-size:11px;fill:#64748b;font-weight:500}.timeline-scatter-svg .date-label[data-v-2d941eaa]{font-size:10px}.timeline-scatter-svg .member-label[data-v-2d941eaa]{font-size:11px;fill:#334155;font-weight:600}.timeline-scatter-svg .task-bubble[data-v-2d941eaa]{cursor:pointer;transition:filter .3s ease,opacity .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));transform-origin:center;opacity:0;transform:scale(0)}.timeline-scatter-svg .scatter-bubbles .task-bubble[data-v-2d941eaa]{animation:none!important}.timeline-scatter-svg .task-bubble[data-v-2d941eaa]:hover{filter:drop-shadow(0 4px 12px rgba(0,0,0,.35)) brightness(1.15)}.timeline-scatter-svg .scatter-bubbles.bubbles-animated .task-bubble.bubble-exploding[data-v-2d941eaa]{animation:bubbleExplode-2d941eaa .6s ease-out forwards!important}@keyframes bubbleEnter-2d941eaa{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes bubbleExplode-2d941eaa{0%{transform:scale(1);opacity:1}50%{transform:scale(1.8);opacity:.9;filter:drop-shadow(0 8px 26px rgba(59,130,246,.55))}to{transform:scale(0);opacity:0;filter:drop-shadow(0 0 0 rgba(0,0,0,0))}}.timeline-scatter-svg .scatter-bubbles.bubbles-animated .bubble-float-1[data-v-2d941eaa]{animation:bubbleEnter-2d941eaa .6s ease-out forwards,bubbleFloat1-2d941eaa 3s ease-in-out infinite;animation-delay:var(--delay,0s),calc(var(--delay, 0s) + .6s)}.timeline-scatter-svg .scatter-bubbles.bubbles-animated .bubble-float-2[data-v-2d941eaa]{animation:bubbleEnter-2d941eaa .6s ease-out forwards,bubbleFloat2-2d941eaa 4s ease-in-out infinite;animation-delay:var(--delay,0s),calc(var(--delay, 0s) + .6s)}.timeline-scatter-svg .scatter-bubbles.bubbles-animated .bubble-float-3[data-v-2d941eaa]{animation:bubbleEnter-2d941eaa .6s ease-out forwards,bubbleFloat3-2d941eaa 3.5s ease-in-out infinite;animation-delay:var(--delay,0s),calc(var(--delay, 0s) + .6s)}@keyframes bubbleFloat1-2d941eaa{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes bubbleFloat2-2d941eaa{0%,to{transform:translate(0)}50%{transform:translate(1.5px,-1.5px)}}@keyframes bubbleFloat3-2d941eaa{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.timeline-scatter-tooltip[data-v-2d941eaa]{position:absolute;z-index:100;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-radius:12px;padding:14px 18px;box-shadow:0 8px 24px rgba(0,0,0,.3);pointer-events:none;min-width:180px;max-width:280px;transform:translateY(-10px);animation:tooltipFadeIn-2d941eaa .15s ease-out}.timeline-scatter-tooltip .tooltip-header[data-v-2d941eaa]{font-size:15px;font-weight:600;color:#f1f5f9;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid hsla(0,0%,100%,.15)}.timeline-scatter-tooltip .tooltip-content[data-v-2d941eaa]{display:flex;flex-direction:column;gap:8px}.timeline-scatter-tooltip .tooltip-row[data-v-2d941eaa]{display:flex;justify-content:space-between;align-items:center;gap:12px}.timeline-scatter-tooltip .tooltip-label[data-v-2d941eaa]{font-size:12px;color:#94a3b8}.timeline-scatter-tooltip .tooltip-value[data-v-2d941eaa]{font-size:13px;font-weight:600;color:#a78bfa;text-align:right;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-data-hint[data-v-2d941eaa]{text-align:center;padding:40px 20px;color:#94a3b8;font-size:14px}[data-v-2d941eaa] html.dark-mode .dashboard-container{color:#e5e7eb}[data-v-2d941eaa] html.dark-mode .dashboard-container .card.glass,[data-v-2d941eaa] html.dark-mode .dashboard-container .chart-card-modern,[data-v-2d941eaa] html.dark-mode .dashboard-container .charts-grid .chart-item,[data-v-2d941eaa] html.dark-mode .dashboard-container .member-task-chart-card,[data-v-2d941eaa] html.dark-mode .dashboard-container .member-task-item,[data-v-2d941eaa] html.dark-mode .dashboard-container .stat-card-modern,[data-v-2d941eaa] html.dark-mode .dashboard-container .submission-stats-card,[data-v-2d941eaa] html.dark-mode .dashboard-container .submission-timeline-card{background:rgba(15,23,42,.96);box-shadow:0 16px 32px rgba(0,0,0,.45)}[data-v-2d941eaa] html.dark-mode .dashboard-container .card .card-title,[data-v-2d941eaa] html.dark-mode .dashboard-container .chart-subtitle,[data-v-2d941eaa] html.dark-mode .dashboard-container .chart-title,[data-v-2d941eaa] html.dark-mode .dashboard-container .charts-grid .card-title,[data-v-2d941eaa] html.dark-mode .dashboard-container .legend-text,[data-v-2d941eaa] html.dark-mode .dashboard-container .legend-value,[data-v-2d941eaa] html.dark-mode .dashboard-container .member-task-item .task-item-name,[data-v-2d941eaa] html.dark-mode .dashboard-container .page-title,[data-v-2d941eaa] html.dark-mode .dashboard-container .stat-description,[data-v-2d941eaa] html.dark-mode .dashboard-container .stat-label,[data-v-2d941eaa] html.dark-mode .dashboard-container .stat-value,[data-v-2d941eaa] html.dark-mode .dashboard-container .task-item-assignee span,[data-v-2d941eaa] html.dark-mode .dashboard-container .task-item-name,[data-v-2d941eaa] html.dark-mode .dashboard-container .timeline-task-name{color:#e5e7eb}[data-v-2d941eaa] html.dark-mode .dashboard-container .no-data-hint,[data-v-2d941eaa] html.dark-mode .dashboard-container .task-item-assignee,[data-v-2d941eaa] html.dark-mode .dashboard-container .task-item-assignee span,[data-v-2d941eaa] html.dark-mode .dashboard-container .timeline-meta,[data-v-2d941eaa] html.dark-mode .dashboard-container .timeline-time{color:#9ca3af}[data-v-2d941eaa] html.dark-mode .dashboard-container .chart-card-modern,[data-v-2d941eaa] html.dark-mode .dashboard-container .charts-grid .chart-item,[data-v-2d941eaa] html.dark-mode .dashboard-container .member-task-chart-card,[data-v-2d941eaa] html.dark-mode .dashboard-container .stat-card-modern,[data-v-2d941eaa] html.dark-mode .dashboard-container .submission-stats-card,[data-v-2d941eaa] html.dark-mode .dashboard-container .submission-timeline-card{border-color:#1f2937}[data-v-2d941eaa] html.dark-mode .dashboard-container .task-item-compact{background:#020617;border-color:#1f2937}[data-v-2d941eaa] html.dark-mode .dashboard-container .task-item-compact .task-item-name{color:#f9fafb}[data-v-2d941eaa] html.dark-mode .dashboard-container .task-item-compact .task-item-assignee{color:#cbd5e1}html.dark-mode .dashboard-container .task-item-compact{background:#020617!important;border-color:#1f2937!important}html.dark-mode .dashboard-container .task-item-compact .task-item-name{color:#f9fafb!important}html.dark-mode .dashboard-container .task-item-compact .task-item-assignee{color:#cbd5e1!important}html.dark-mode .dashboard-container .achievement-card,html.dark-mode .dashboard-container .achievements-list-card,html.dark-mode .dashboard-container .bar-chart-empty,html.dark-mode .dashboard-container .kpi-card,html.dark-mode .dashboard-container .kpi-card-large,html.dark-mode .dashboard-container .line-chart,html.dark-mode .dashboard-container .line-chart-empty,html.dark-mode .dashboard-container .member-contribution-chart,html.dark-mode .dashboard-container .member-task-chart-card,html.dark-mode .dashboard-container .pie-empty,html.dark-mode .dashboard-container .stat-card,html.dark-mode .dashboard-container .submission-stats-card,html.dark-mode .dashboard-container .submission-timeline-card{background:#020617!important;border-color:#1f2937!important;color:#e5e7eb!important}html.dark-mode .dashboard-container .bar-chart-empty .empty-text,html.dark-mode .dashboard-container .line-chart .empty-text{color:#9ca3af!important}html.dark-mode .dashboard-container .card.glass.gradient-border{background:#020617!important;border-color:#1f2937!important}html.dark-mode .dashboard-container .timeline .steps li{background:#020617!important;color:#e5e7eb!important}html.dark-mode .dashboard-container .timeline .steps li .name{color:#f9fafb!important}html.dark-mode .dashboard-container .timeline .steps li .date,html.dark-mode .dashboard-container .timeline .steps li .milestone-members span{color:#cbd5e1!important}html.dark-mode .dashboard-container .task-list-compact{background:#020617!important;border-color:#1f2937!important}html.dark-mode .dashboard-container .task-list-header{border-bottom-color:#1f2937!important}html.dark-mode .dashboard-container .task-list-count,html.dark-mode .dashboard-container .task-list-title{color:#e5e7eb!important}html.dark-mode .dashboard-container .achievement-type-badge-small{background:#1f2937!important;color:#e5e7eb!important}html.dark-mode .dashboard-container .achievement-list-empty .empty-text{color:#9ca3af!important}html.dark-mode .dashboard-container .badge-paper{background:linear-gradient(135deg,#1e3a8a,#1e40af)!important;color:#dbeafe!important}html.dark-mode .dashboard-container .badge-patent{background:linear-gradient(135deg,#92400e,#b45309)!important;color:#fef3c7!important}html.dark-mode .dashboard-container .badge-dataset{background:linear-gradient(135deg,#065f46,#047857)!important;color:#d1fae5!important}html.dark-mode .dashboard-container .badge-model{background:linear-gradient(135deg,#6b21a8,#7c3aed)!important;color:#e9d5ff!important}html.dark-mode .dashboard-container .badge-report{background:linear-gradient(135deg,#991b1b,#dc2626)!important;color:#fecaca!important}.static-pie-chart{width:100%;height:200px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.pie-center-label{font-size:12px;fill:#6b7280;font-weight:500}.pie-center-value{font-size:24px;fill:#1f2937;font-weight:700}html.dark-mode .static-pie-chart{filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}html.dark-mode .pie-center-label{fill:#9ca3af}html.dark-mode .pie-center-value{fill:#e5e7eb}.completion-rate{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;min-width:45px;text-align:center}.completion-rate.good{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.completion-rate.medium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.completion-rate.low{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.bar-value{font-size:12px;fill:#374151}html.dark-mode .bar-value{fill:#e5e7eb}html.dark-mode .dashboard-container .badge-custom{background:linear-gradient(135deg,#3730a3,#4f46e5)!important;color:#e0e7ff!important}html.dark-mode .dashboard-container .badge-default{background:linear-gradient(135deg,#475569,#64748b)!important;color:#f1f5f9!important}html.dark-mode .dashboard-container .achievement-date{color:#94a3b8!important}html.dark-mode .dashboard-container .achievement-date svg{color:#64748b!important}html.dark-mode .dashboard-container .task-list-count{background:#374151!important;color:#d1d5db!important}html.dark-mode .dashboard-container .task-item-status.status-paper{background:#3b82f6!important;box-shadow:0 0 8px rgba(59,130,246,.6)!important}html.dark-mode .dashboard-container .task-item-status.status-patent{background:#f59e0b!important;box-shadow:0 0 8px rgba(245,158,11,.6)!important}html.dark-mode .dashboard-container .task-item-status.status-dataset{background:#10b981!important;box-shadow:0 0 8px rgba(16,185,129,.6)!important}html.dark-mode .dashboard-container .task-item-status.status-model{background:#8b5cf6!important;box-shadow:0 0 8px rgba(139,92,246,.6)!important}html.dark-mode .dashboard-container .task-item-status.status-report{background:#ef4444!important;box-shadow:0 0 8px rgba(239,68,68,.6)!important}html.dark-mode .dashboard-container .task-item-status.status-custom{background:#6366f1!important;box-shadow:0 0 8px rgba(99,102,241,.6)!important}html.dark-mode .dashboard-container .task-item-status.status-default{background:#64748b!important;box-shadow:0 0 8px rgba(100,116,139,.6)!important}.project-operation-log-container[data-v-3e9624f0]{min-height:100vh;background-color:#f8f9fa;display:flex;flex-direction:column}.top-header[data-v-3e9624f0]{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #e9ecef;height:64px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.1);z-index:1000}.header-left[data-v-3e9624f0]{display:flex;align-items:center;gap:16px}.back-btn[data-v-3e9624f0]{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:background-color .3s ease}.back-btn[data-v-3e9624f0]:hover{background-color:#f8f9fa}.page-title[data-v-3e9624f0]{font-size:18px;font-weight:600;color:#333;line-height:1}.main-content[data-v-3e9624f0]{flex:1;padding:80px 24px 28px;display:flex;flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;width:100%}.filter-card[data-v-3e9624f0]{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.filter-header[data-v-3e9624f0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filter-title[data-v-3e9624f0]{font-size:16px;font-weight:600;color:#333;margin:0}.filter-body[data-v-3e9624f0]{display:flex;flex-direction:column;gap:16px}.filter-row[data-v-3e9624f0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-item[data-v-3e9624f0]{display:flex;flex-direction:column;gap:8px}.filter-label[data-v-3e9624f0]{font-size:14px;font-weight:500;color:#666}.filter-input[data-v-3e9624f0],.filter-select[data-v-3e9624f0]{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:border-color .3s ease}.filter-input[data-v-3e9624f0]:focus,.filter-select[data-v-3e9624f0]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.btn-primary[data-v-3e9624f0],.btn-secondary[data-v-3e9624f0]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-3e9624f0]{background:#3b82f6;color:#fff}.btn-primary[data-v-3e9624f0]:hover:not(:disabled){background:#2563eb}.btn-primary[data-v-3e9624f0]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-3e9624f0]{background:#f1f5f9;color:#475569}.btn-secondary[data-v-3e9624f0]:hover{background:#e2e8f0}.log-list-card[data-v-3e9624f0]{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.log-list-header[data-v-3e9624f0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.log-list-title[data-v-3e9624f0]{font-size:18px;font-weight:600;color:#333;margin:0}.log-list-info[data-v-3e9624f0]{display:flex;align-items:center;gap:16px}.log-count[data-v-3e9624f0]{font-size:14px;color:#666}.loading-state[data-v-3e9624f0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.loading-spinner[data-v-3e9624f0]{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;animation:spin-3e9624f0 1s linear infinite;margin-bottom:16px}@keyframes spin-3e9624f0{to{transform:rotate(1turn)}}.empty-state[data-v-3e9624f0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.empty-state svg[data-v-3e9624f0]{margin-bottom:16px;opacity:.5}.empty-state p[data-v-3e9624f0]{font-size:14px;margin:0}.log-timeline[data-v-3e9624f0]{display:flex;flex-direction:column;gap:20px}.timeline-item[data-v-3e9624f0]{display:flex;gap:16px;position:relative;padding-left:8px}.timeline-item[data-v-3e9624f0]:before{content:"";position:absolute;left:7px;top:24px;bottom:-20px;width:2px;background:#e9ecef}.timeline-item[data-v-3e9624f0]:last-child:before{display:none}.timeline-dot[data-v-3e9624f0]{width:16px;height:16px;border-radius:50%;border:3px solid #fff;flex-shrink:0;margin-top:4px;position:relative;z-index:1}.timeline-dot.type-project[data-v-3e9624f0]{background:#3b82f6;border-color:#3b82f6}.timeline-dot.type-task[data-v-3e9624f0]{background:#10b981;border-color:#10b981}.timeline-dot.type-wiki[data-v-3e9624f0]{background:#f59e0b;border-color:#f59e0b}.timeline-dot.type-achievement[data-v-3e9624f0]{background:#8b5cf6;border-color:#8b5cf6}.timeline-dot.type-default[data-v-3e9624f0]{background:#6b7280;border-color:#6b7280}.timeline-content[data-v-3e9624f0]{flex:1;background:#f8f9fa;border-radius:8px;padding:16px;transition:background-color .3s ease}.timeline-content[data-v-3e9624f0]:hover{background:#f1f5f9}.log-header[data-v-3e9624f0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.log-header-left[data-v-3e9624f0]{display:flex;align-items:center;gap:8px}.log-module[data-v-3e9624f0]{padding:2px 8px;background:#e0e7ff;color:#4338ca;border-radius:4px;font-size:12px;font-weight:500}.log-type[data-v-3e9624f0]{font-size:14px;font-weight:600;color:#333}.log-time[data-v-3e9624f0]{font-size:12px;color:#666}.log-description[data-v-3e9624f0]{font-size:14px;color:#555;margin:8px 0;line-height:1.6}.log-meta[data-v-3e9624f0]{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#666}.log-operator[data-v-3e9624f0],.log-related[data-v-3e9624f0],.log-source[data-v-3e9624f0]{display:flex;align-items:center;gap:4px}.operator-label[data-v-3e9624f0],.related-label[data-v-3e9624f0],.source-label[data-v-3e9624f0]{color:#999}.operator-name[data-v-3e9624f0],.related-value[data-v-3e9624f0],.source-name[data-v-3e9624f0]{color:#666;font-weight:500}.pagination[data-v-3e9624f0]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid #e9ecef}.pagination-btn[data-v-3e9624f0]{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:all .3s ease}.pagination-btn[data-v-3e9624f0]:hover:not(:disabled){background:#f8f9fa;border-color:#3b82f6;color:#3b82f6}.pagination-btn[data-v-3e9624f0]:disabled{opacity:.5;cursor:not-allowed}.pagination-info[data-v-3e9624f0]{font-size:14px;color:#666}.dark-mode .project-operation-log-container[data-v-3e9624f0]{background-color:#1e293b}.dark-mode .top-header[data-v-3e9624f0]{background:#1e293b;border-bottom-color:#334155}.dark-mode .back-btn[data-v-3e9624f0]{color:#cbd5e1}.dark-mode .back-btn[data-v-3e9624f0]:hover{background-color:#334155}.dark-mode .page-title[data-v-3e9624f0]{color:#f1f5f9}.dark-mode .filter-card[data-v-3e9624f0],.dark-mode .log-list-card[data-v-3e9624f0]{background:#334155;border-color:#475569}.dark-mode .filter-title[data-v-3e9624f0],.dark-mode .log-list-title[data-v-3e9624f0]{color:#f1f5f9}.dark-mode .filter-label[data-v-3e9624f0]{color:#cbd5e1}.dark-mode .filter-input[data-v-3e9624f0],.dark-mode .filter-select[data-v-3e9624f0]{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .filter-input[data-v-3e9624f0]:focus,.dark-mode .filter-select[data-v-3e9624f0]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}.dark-mode .btn-secondary[data-v-3e9624f0]{background:#475569;color:#cbd5e1}.dark-mode .btn-secondary[data-v-3e9624f0]:hover{background:#64748b}.dark-mode .empty-state[data-v-3e9624f0],.dark-mode .loading-state[data-v-3e9624f0],.dark-mode .log-count[data-v-3e9624f0]{color:#94a3b8}.dark-mode .timeline-item[data-v-3e9624f0]:before{background:#475569}.dark-mode .timeline-content[data-v-3e9624f0]{background:#1e293b}.dark-mode .timeline-content[data-v-3e9624f0]:hover{background:#334155}.dark-mode .log-type[data-v-3e9624f0]{color:#f1f5f9}.dark-mode .log-description[data-v-3e9624f0]{color:#cbd5e1}.dark-mode .log-meta[data-v-3e9624f0],.dark-mode .log-time[data-v-3e9624f0]{color:#94a3b8}.dark-mode .pagination-btn[data-v-3e9624f0]{background:#334155;border-color:#475569;color:#cbd5e1}.dark-mode .pagination-btn[data-v-3e9624f0]:hover:not(:disabled){background:#475569;border-color:#3b82f6;color:#3b82f6}.dark-mode .pagination-info[data-v-3e9624f0]{color:#94a3b8}.dark-mode .log-module[data-v-3e9624f0]{background:rgba(59,130,246,.2);color:#93c5fd}.date-quick-filters-row[data-v-3e9624f0]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.date-quick-filters[data-v-3e9624f0]{display:flex;gap:8px}.date-filter-btn[data-v-3e9624f0]{padding:6px 14px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.date-filter-btn[data-v-3e9624f0]:hover{background:#f8f9fa;border-color:#3b82f6;color:#3b82f6}.date-filter-btn.active[data-v-3e9624f0]{background:#3b82f6;border-color:#3b82f6;color:#fff}.export-dialog-overlay[data-v-3e9624f0]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-3e9624f0 .2s ease-out}@keyframes fadeIn-3e9624f0{0%{opacity:0}to{opacity:1}}.export-dialog[data-v-3e9624f0]{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);animation:slideUp-3e9624f0 .3s ease-out}@keyframes slideUp-3e9624f0{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.export-dialog-header[data-v-3e9624f0]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.export-dialog-title[data-v-3e9624f0]{margin:0;font-size:18px;font-weight:600;color:#333}.export-dialog-close[data-v-3e9624f0]{background:none;border:none;cursor:pointer;padding:4px;color:#666;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.export-dialog-close[data-v-3e9624f0]:hover{background:#f8f9fa;color:#333}.export-dialog-content[data-v-3e9624f0]{padding:20px 24px}.export-date-filters[data-v-3e9624f0]{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.export-date-btn[data-v-3e9624f0]{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;min-width:100px}.export-date-btn[data-v-3e9624f0]:hover{background:#f8f9fa;border-color:#3b82f6;color:#3b82f6}.export-date-btn.active[data-v-3e9624f0]{background:#3b82f6;border-color:#3b82f6;color:#fff}.export-date-range[data-v-3e9624f0]{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid #e9ecef}.date-label[data-v-3e9624f0]{font-size:14px;font-weight:500;color:#666;margin-bottom:4px}.date-input[data-v-3e9624f0]{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:border-color .3s ease}.date-input[data-v-3e9624f0]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.export-dialog-footer[data-v-3e9624f0]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e9ecef}.dark-mode .date-filter-btn[data-v-3e9624f0]{background:#334155;border-color:#475569;color:#cbd5e1}.dark-mode .date-filter-btn[data-v-3e9624f0]:hover{background:#475569;border-color:#3b82f6;color:#3b82f6}.dark-mode .date-filter-btn.active[data-v-3e9624f0]{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark-mode .export-dialog[data-v-3e9624f0]{background:#334155}.dark-mode .export-dialog-title[data-v-3e9624f0]{color:#f1f5f9}.dark-mode .export-dialog-close[data-v-3e9624f0]{color:#cbd5e1}.dark-mode .export-dialog-close[data-v-3e9624f0]:hover{background:#475569;color:#f1f5f9}.dark-mode .export-date-btn[data-v-3e9624f0]{background:#1e293b;border-color:#475569;color:#cbd5e1}.dark-mode .export-date-btn[data-v-3e9624f0]:hover{background:#334155;border-color:#3b82f6;color:#3b82f6}.dark-mode .export-date-btn.active[data-v-3e9624f0]{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark-mode .date-label[data-v-3e9624f0]{color:#cbd5e1}.dark-mode .date-input[data-v-3e9624f0]{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .date-input[data-v-3e9624f0]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}@media (max-width:768px){.main-content[data-v-3e9624f0]{padding:80px 16px 20px}.filter-row[data-v-3e9624f0]{grid-template-columns:1fr}.log-header[data-v-3e9624f0]{align-items:flex-start}.log-header[data-v-3e9624f0],.log-meta[data-v-3e9624f0]{flex-direction:column;gap:8px}.date-quick-filters-row[data-v-3e9624f0]{flex-direction:column;align-items:flex-start}.export-dialog[data-v-3e9624f0]{width:95%;max-width:none}.export-date-filters[data-v-3e9624f0]{flex-direction:column}.export-date-btn[data-v-3e9624f0]{min-width:auto}}.my-activity-container{min-height:100vh;background-color:var(--bg-secondary)}.operation-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:9999}.operation-loading-content,.operation-loading-overlay{display:flex;align-items:center;justify-content:center}.operation-loading-content{flex-direction:column;padding:18px 20px;border-radius:12px;background:hsla(0,0%,100%,.92);box-shadow:0 10px 24px rgba(0,0,0,.12)}.top-header{position:fixed;top:0;left:0;right:0;background:var(--bg-primary,#fff);border-bottom:1px solid var(--border-primary,#e5e7eb);height:64px;padding:0 var(--space-6,24px);justify-content:space-between;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1));z-index:10000;transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1)}.header-left,.top-header{display:flex;align-items:center}.header-left{gap:16px}.menu-btn{background:none;border:none;cursor:pointer;padding:var(--space-2,8px);border-radius:var(--radius-md,6px);color:var(--text-tertiary,#6b7280);transition:all var(--transition-fast,.2s);display:flex;align-items:center;justify-content:center}.menu-btn:hover{background-color:var(--bg-tertiary,#f3f4f6);color:var(--text-primary,#111827);transform:scale(1.05)}.back-btn{background:none;border:none;cursor:pointer;padding:var(--space-2,8px);border-radius:var(--radius-md,6px);color:var(--text-tertiary,#6b7280);transition:all var(--transition-fast,.2s);display:flex;align-items:center;justify-content:center}.back-btn:hover{background-color:var(--bg-tertiary,#f3f4f6);transform:scale(1.05)}.back-btn:hover,.page-title{color:var(--text-primary,#111827)}.page-title{font-size:var(--text-lg,18px);font-weight:var(--font-semibold,600);line-height:1;margin:0;padding:0;display:inline-flex;align-items:center;transform:translateY(-1px)}.main-content-wrapper{width:100%;max-width:none;margin:0;padding:16px 24px;display:flex;flex-direction:column;gap:16px;padding-top:80px}.activity-content-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;min-height:calc(100vh - 120px);width:100%}.activity-side-nav{background:var(--bg-primary,#fff);border-radius:12px;padding:16px 12px;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.08));display:flex;flex-direction:column;gap:8px;position:sticky;top:100px;height:-moz-fit-content;height:fit-content}.activity-nav-item{width:100%;text-align:left;border:none;background:transparent;padding:10px 14px;border-radius:8px;font-size:15px;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.activity-nav-item:hover{background:var(--bg-tertiary,#f3f4f6);color:var(--text-primary,#111827)}.activity-nav-item.active{background:var(--accent-soft,#eef2ff);color:var(--accent-main,#4338ca);font-weight:600;box-shadow:inset 0 0 0 1px var(--accent-border,#c7d2fe)}.activity-page-content{gap:20px}.activity-page-content,.page-section{display:flex;flex-direction:column;width:100%}.page-section{min-height:calc(100vh - 120px)}.page-section>.dashboard-card,.page-section>.section-card{flex:1;display:flex;flex-direction:column}.welcome-section{margin-bottom:8px}.welcome-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;color:#fff}.welcome-text h2{margin:0 0 8px 0;font-size:24px;font-weight:600}.welcome-text p{margin:0;font-size:14px;opacity:.9}.time-filters{display:flex;gap:8px}.filter-btn{padding:8px 16px;border:1px solid hsla(0,0%,100%,.3);background:hsla(0,0%,100%,.1);border-radius:6px;color:#fff;cursor:pointer;font-size:14px;transition:all .2s}.filter-btn:hover{background:hsla(0,0%,100%,.2)}.filter-btn.active{color:#667eea;border-color:var(--bg-primary,#fff)}.filter-btn.active,.section-card{background:var(--bg-primary,#fff)}.section-card{border-radius:12px;padding:24px;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1))}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary,#111827)}.section-controls{display:flex;gap:12px;align-items:center}.filter-select,.sort-select{padding:6px 12px;border:1px solid var(--border-primary,#d1d5db);border-radius:6px;font-size:14px;background:var(--bg-primary,#fff);color:var(--text-primary,#111827);cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.search-input{padding:6px 12px;border:1px solid var(--border-primary,#d1d5db);border-radius:6px;font-size:14px;width:200px}.export-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #3b82f6;border-radius:6px;font-size:14px;font-weight:500;background:#3b82f6;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap}.export-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 8px rgba(59,130,246,.3)}.export-btn:disabled{opacity:.6;cursor:not-allowed;background:#9ca3af;border-color:#9ca3af}.export-spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.3);border-top:2px solid #fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.task-cards-list{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--border-secondary,#cbd5e1) var(--bg-tertiary,#f1f5f9)}.task-cards-list>.task-card-clean{flex:0 0 auto}.task-cards-list::-webkit-scrollbar{width:6px}.task-cards-list::-webkit-scrollbar-track{background:var(--bg-tertiary,#f1f5f9);border-radius:3px}.task-cards-list::-webkit-scrollbar-thumb{background:var(--border-secondary,#cbd5e1);border-radius:3px}.task-cards-list::-webkit-scrollbar-thumb:hover{background:var(--gray-400,#94a3b8)}.task-card-clean{background:var(--bg-primary,#fff);border:1px solid var(--border-primary,#e5e7eb);border-radius:10px;display:grid;grid-template-columns:1fr auto;align-items:center;transition:box-shadow .2s,border-color .2s;overflow:hidden;position:relative;min-height:70px;padding:14px 16px;gap:16px}.task-card-clean:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:var(--border-secondary,#d1d5db)}.task-card-clean.overdue{border-color:#fecaca}.task-card-clean.urgent{border-color:#fed7aa}.task-card-clean.normal{border-color:#bfdbfe}.task-status-bar{position:absolute;left:0;top:0;bottom:0;width:3px}.task-status-bar.red{background:#ef4444}.task-status-bar.orange{background:#f59e0b}.task-status-bar.blue{background:#3b82f6}.task-content{min-width:0;padding-left:10px;display:flex;flex-direction:column;gap:8px;flex:1}.task-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px}.task-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary,#111827);flex:1;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0;line-height:1.2}.task-status-badge.status-PENDING{background:#fef3c7;color:#92400e}.task-status-badge.status-IN_PROGRESS{background:#dbeafe;color:#1e40af}.task-status-badge.status-DONE{background:#d1fae5;color:#065f46}.task-status-badge.status-REVIEWING{background:#e0e7ff;color:#3730a3}.task-status-badge.status-UNKNOWN{background:var(--bg-tertiary,#f3f4f6);color:var(--text-secondary,#6b7280)}.task-description{margin:0;color:var(--text-secondary,#6b7280);display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical}.meta-line,.task-description{font-size:13px;line-height:1.5;overflow:hidden}.meta-line{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;white-space:nowrap}.meta-pair{display:inline-flex;align-items:center;gap:4px;overflow:hidden}.meta-label{color:var(--text-secondary,#9ca3af);font-size:13px;font-weight:400}.meta-value{color:var(--text-primary,#374151);font-weight:500;font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.meta-value.overdue-text{color:#ef4444;font-weight:600}.meta-value.urgent-text{color:#f59e0b;font-weight:600}.meta-sep{color:var(--border-secondary,#d1d5db);margin:0 4px;font-size:13px}.task-actions{display:flex;align-items:center;gap:8px;padding-left:16px;border-left:1px solid var(--border-primary,#e5e7eb);justify-content:flex-end;flex-shrink:0}.action-btn-review{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s;white-space:nowrap;line-height:1.4;background:#3b82f6;color:#fff}.action-btn-review:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 8px rgba(59,130,246,.3)}.review-status-text{font-size:13px;font-weight:500;padding:4px 10px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center}.review-status-text.status-pending{background:#fef3c7;color:#92400e}.review-status-text.status-reviewing{background:#e0e7ff;color:#3730a3}.review-status-text.status-approved{background:#d1fae5;color:#065f46}.review-status-text.status-rejected{background:#fee2e2;color:#991b1b}.dashboard-grid{display:grid;grid-template-columns:2fr 3fr;gap:24px;align-items:stretch}.dashboard-card{background:var(--bg-primary,#fff);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1))}.dashboard-card.projects-overview,.dashboard-card.task-statistics{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.card-header{margin-bottom:20px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.card-header-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.review-mode-toggle{display:flex;gap:4px;background:var(--bg-tertiary,#f3f4f6);border-radius:8px;padding:4px}.toggle-btn{padding:6px 12px;border:none;background:transparent;color:var(--text-secondary,#6b7280);font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.toggle-btn:hover{color:var(--text-primary,#374151);background:hsla(0,0%,100%,.08)}.toggle-btn.active{background:var(--bg-primary,#fff);color:var(--primary-color,#3b82f6);box-shadow:0 1px 2px rgba(0,0,0,.05)}.task-list-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.card-title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary,#111827)}.projects-list{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow-y:auto;padding-right:8px}.project-item{display:flex;justify-content:space-between;align-items:center;padding:20px;min-height:80px;border:1px solid var(--border-primary,#e5e7eb);border-radius:8px;cursor:pointer;transition:all .2s;position:relative}.project-item:hover{background:var(--bg-primary,#f9fafb);border-color:var(--primary-color,#3b82f6)}.project-info{flex:1;display:flex;flex-direction:column;gap:12px}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-name{margin:0;font-size:18px;font-weight:600;color:var(--text-primary,#111827);flex:1}.project-status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;background:#f3f4f6;color:#6b7280;white-space:nowrap}.project-status-badge.status-in-progress{background:#e0f2fe;color:#0369a1}.project-status-badge.status-completed{background:#dcfce7;color:#047857}.project-status-badge.status-archived{background:#ede9fe;color:#5b21b6}.project-description{margin:0;font-size:13px;color:var(--text-secondary,#6b7280);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-progress{display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:6px;background:var(--border-secondary,#e5e7eb);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .3s}.progress-text{font-size:12px;min-width:40px}.progress-text,.project-link{color:var(--text-secondary,#6b7280)}.project-link{padding:4px;cursor:pointer}.project-link:hover{color:var(--primary-color,#3b82f6)}.stats-content{position:relative;display:flex;flex-direction:column;gap:24px;flex:1;min-height:0;overflow-y:auto}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.85);z-index:2}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gauges-row{grid-template-columns:repeat(3,minmax(220px,1fr))}.chart-card{background:var(--bg-primary,#fff);border:1px solid var(--border-primary,#e5e7eb);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;align-items:center;gap:6px}.chart-box{width:100%;height:120px;max-width:240px;margin:6px auto 2px;box-sizing:border-box;min-width:0;position:relative}.chart-box.large{height:140px;max-width:none}.chart-box.large.clickable-chart,.chart-box.small.clickable-chart{cursor:pointer;transition:opacity .2s}.chart-box.large.clickable-chart:hover,.chart-box.small.clickable-chart:hover{opacity:.8}.dashboard-pro{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;min-width:0}.card-overview,.card-trend{background:var(--bg-primary,#fff);border:1px solid var(--border-primary,#e5e7eb);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;max-height:42.85714vh;overflow:hidden}.card-overview{overflow:visible;position:relative;z-index:2}.card-overview,.card-trend{min-height:400px}:deep(html.dark-mode) .my-activity-container .card-overview,:deep(html.dark-mode) .my-activity-container .card-trend,:deep(html.dark-mode) .my-activity-container .chart-card{background:#020617;border-color:#1f2937}.card-header-row{display:flex;justify-content:space-between;align-items:center}.kpi-group{display:flex;gap:8px;flex-wrap:wrap}.kpi-badge{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600;animation:fadeInUp 2s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.kpi-pending{background:#fef3c7;color:#92400e}.kpi-progress{background:#d1f4e0;color:#065f46}.kpi-reviewing{background:#e9d5ff;color:#6b21a8}.kpi-done{background:#fed7aa;color:#92400e}.overview-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px;align-items:start;min-height:300px;min-width:0;width:100%;box-sizing:border-box;flex-direction:unset!important;position:relative}.overview-left{display:flex;align-items:stretch;justify-content:center;min-height:280px;flex-direction:column;gap:12px;min-width:0;width:100%}.overview-right{display:grid!important;grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(2,1fr)!important;gap:14px;align-items:stretch!important;flex:none!important;flex-direction:unset!important}.mini-bar,.mini-gauge,.overview-right{min-width:0;width:100%;box-sizing:border-box}.mini-bar,.mini-gauge{background:#fafafa;border:1px solid #f1f5f9;border-radius:10px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:150px;max-height:150px;height:150px}.mini-bar.clickable-chart{cursor:pointer}.mini-bar.clickable-chart:hover{opacity:.8}.mini-title{font-size:12px;color:#6b7280;margin-bottom:6px;font-weight:500;text-align:center;width:100%;flex-shrink:0}.chart-box.tiny{height:110px;max-width:none;width:100%;flex:1;min-height:0;box-sizing:border-box}.clickable-chart{cursor:pointer;transition:opacity .2s}.clickable-chart:hover{opacity:.8}.mini-gauge{cursor:pointer}.chart-box.small{height:110px;max-width:none;width:100%;min-height:110px;box-sizing:border-box}.chart-box.medium{height:240px;max-width:none;width:100%}.status-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.status-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#111827}.status-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.status-name{flex:1;font-weight:500;color:#111827}.status-count{font-weight:600;color:#111827}.status-percent{color:#111827;font-size:12px}.stats-chart{padding-bottom:24px;border-bottom:1px solid #e5e7eb}.stats-chart:last-child{border-bottom:none}.chart-title{margin:0 0 16px 0;font-size:14px;font-weight:600;color:#111827}.bar-chart{display:flex;gap:16px}.bar-item{flex:1;display:flex;flex-direction:column;gap:8px}.bar-label{font-size:13px;color:#6b7280;font-weight:600}.bar-container{width:100%;display:flex;align-items:center;gap:8px;position:relative}.bar{height:24px;border-radius:4px;transition:width .3s}.bar.pending{background:#fef3c7}.bar.in-progress{background:#dbeafe}.bar.completed{background:#d1fae5}.bar-value{font-size:13px;font-weight:600;color:#111827;min-width:30px}.line-chart-placeholder{height:150px;display:flex;align-items:center;justify-content:center;background:#f9fafb;border-radius:8px}.upcoming-milestones{padding-top:0}.milestones-list{display:flex;flex-wrap:wrap;gap:12px}.milestone-item{padding:8px 12px;background:#f9fafb;border-radius:8px;height:44px;display:flex;align-items:center;width:220px;box-sizing:border-box;border:1px solid #eef2f7;cursor:pointer;transition:all .2s ease}.milestone-item:hover{background:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.05)}.milestone-info{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.milestone-name{font-size:13px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.milestone-countdown{font-size:12px;color:#f59e0b;font-weight:500;flex-shrink:0;white-space:nowrap}.created-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.summary-card{background:linear-gradient(135deg,#fff,#f9fafb);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;transition:all .3s ease;box-shadow:0 1px 3px rgba(0,0,0,.05)}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:#d1d5db}.summary-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.summary-total .summary-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.summary-progress .summary-icon{background:linear-gradient(135deg,#7dd3a8,#5fb88f);color:#fff}.summary-completed .summary-icon{background:linear-gradient(135deg,#fbbf83,#f59e0b);color:#fff}.summary-pending .summary-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.summary-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.summary-label{font-size:12px;color:#6b7280;font-weight:500;letter-spacing:.3px}.summary-value{font-size:24px;font-weight:700;color:#111827;line-height:1}.summary-card:hover .summary-icon{transform:scale(1.1) rotate(5deg)}.activity-timeline{max-height:600px;overflow-y:auto;padding-right:8px}.timeline-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #e5e7eb;position:relative}.timeline-item:last-child{border-bottom:none}.timeline-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:4px;position:relative}.timeline-dot:before{content:"";position:absolute;left:50%;top:100%;width:2px;height:calc(100% + 16px);background:#e5e7eb;transform:translateX(-50%)}.timeline-item:last-child .timeline-dot:before{display:none}.timeline-dot.type-submission{background:#3b82f6}.timeline-dot.type-upload{background:#8b5cf6}.timeline-dot.type-comment{background:#10b981}.timeline-dot.type-review{background:#f59e0b}.timeline-content{flex:1}.log-header{justify-content:space-between;margin-bottom:4px}.log-header,.log-header-left{display:flex;align-items:center}.log-header-left{gap:8px}.log-module{font-size:11px;padding:2px 8px;background:#f3f4f6;color:#6b7280;border-radius:4px;font-weight:500}.log-type{font-size:13px;font-weight:600;color:#111827}.log-time{font-size:12px;color:#9ca3af}.log-description{margin:4px 0;font-size:14px;color:#6b7280;line-height:1.5}.log-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#9ca3af}.log-operator,.log-project,.log-source{display:flex;align-items:center}.operator-label,.project-label,.source-label{margin-right:4px;font-weight:500}.source-name{color:#8b5cf6}.operator-name{color:#6366f1}.project-value{color:#64748b;font-family:monospace}.load-more{text-align:center;padding:16px;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500}.load-more:hover{color:#2563eb}.empty-state,.loading-state{text-align:center;padding:60px 20px}.empty-state.small,.loading-state.small{padding:40px 20px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-spinner.small{width:24px;height:24px;border-width:2px;margin-bottom:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state p{color:#9ca3af;font-size:14px}.empty-milestones{text-align:center;padding:20px;color:#9ca3af;font-size:13px}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card.projects-overview,.dashboard-card.task-statistics{height:auto}}@media (max-width:768px){.task-card-clean{flex-direction:column}.task-status-bar{width:100%;height:4px}.task-actions{flex-direction:row;border-left:none;border-top:1px solid #f3f4f6;padding:16px 20px;min-width:auto}.task-header{flex-direction:column;align-items:flex-start}.detail-row{gap:8px}.bar-chart,.detail-row{flex-direction:column}.bar-item{flex-direction:row;align-items:center}.bar-label{width:60px;text-align:left}.bar-container{flex:1}.header-content{padding:12px 16px}.main-nav{display:none}.welcome-card{gap:16px}.section-header,.welcome-card{flex-direction:column;align-items:flex-start}.section-header{gap:12px}.main-content-wrapper{padding:16px;padding-top:100px!important}.activity-content-layout{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:0!important}.activity-content-layout,.page-section{min-height:auto!important}.activity-side-nav{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:0!important;padding-bottom:12px!important;border-right:none!important;border-bottom:1px solid #e5e7eb;margin-bottom:12px;background:#f8fafc;position:static!important;top:auto!important;height:auto!important;box-shadow:none!important}.activity-nav-item{padding:10px 12px;border-radius:8px;white-space:nowrap;font-size:13px;text-align:center;justify-content:center}.activity-page-content{width:100%!important}.card-header-top{flex-direction:column;align-items:flex-start!important;gap:12px;width:100%}.card-title{font-size:16px;white-space:nowrap}.review-mode-toggle{display:flex;flex-wrap:wrap;gap:8px;width:100%}.review-mode-toggle .toggle-btn{flex:1;min-width:0;padding:8px 10px;font-size:12px;white-space:nowrap}.section-controls{flex-direction:column;align-items:stretch;gap:10px;width:100%}.sort-select{width:100%}.dashboard-grid{gap:16px;grid-template-columns:1fr!important}.dashboard-card{padding:16px;width:100%}.dashboard-pro{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:16px}.chart-column{width:100%!important}.card-overview{min-height:550px!important;height:auto!important;overflow:visible!important}.overview-grid{display:flex!important;flex-direction:row!important;gap:12px;min-height:500px;grid-template-columns:none!important;grid-auto-rows:unset!important;position:relative!important}.overview-row{flex-direction:column!important;gap:16px}.overview-left{flex:1;display:flex;flex-direction:column;gap:8px}.chart-box.medium{height:280px!important;margin-bottom:10px}.status-summary{flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px;padding:10px 0;clear:both}.status-item,.status-summary{display:flex!important;flex-direction:row!important}.status-item{align-items:center;gap:4px;white-space:nowrap;font-size:11px}.status-count,.status-name,.status-percent{display:inline!important}.overview-right{flex:1;display:flex!important;flex-direction:column!important;gap:8px;align-self:flex-start;grid-template-columns:none!important;grid-auto-rows:unset!important;width:auto!important}.overview-grid{position:relative}.overview-right .mini-bar{position:static!important;left:auto!important;bottom:auto!important;width:100%!important;display:flex!important}.overview-left{padding-bottom:0!important}.mini-gauge{width:100%;padding:8px;background:#fafafa;border-radius:8px;box-sizing:border-box;min-width:0}.mini-gauge .mini-title{font-size:11px;margin-bottom:4px;text-align:center}.mini-bar{padding:12px;background:#fafafa;box-sizing:border-box;min-width:0;width:100%;border-radius:8px}.chart-box.tiny{height:80px!important;max-width:90px;margin:0 auto}.chart-box.small{height:140px!important}.chart-box.medium{height:160px!important}.task-cards-list,.task-list-container,.task-statistics{width:100%}.task-card-clean{width:100%;flex-direction:column!important}.task-content{width:100%!important}.task-title{white-space:normal!important;overflow:visible!important;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.task-actions{width:100%;justify-content:flex-end;border-left:none!important;border-top:1px solid #f0f0f0;padding:10px 0 0 0!important;margin-top:10px}.activity-log-section,.activity-log-section .section-card{width:100%}.activity-timeline{max-height:none}}@media (max-width:600px){.main-content-wrapper{padding:12px}.dashboard-card{padding:14px;border-radius:12px}.card-title{font-size:15px}.stat-value{font-size:20px}.chart-box{height:180px}.chart-box.large{height:200px}}@media (max-width:480px){.main-content-wrapper{padding:10px}.activity-side-nav{padding:10px 0;gap:6px}.activity-nav-item{padding:8px 12px;font-size:13px}.dashboard-grid{gap:12px}.dashboard-card{padding:12px}.card-header-top{gap:10px}.card-title{font-size:14px}.review-mode-toggle .toggle-btn{padding:6px 8px;font-size:11px}.chart-box{height:160px}.chart-box.large{height:180px}.chart-box.tiny{height:80px}.task-card-clean{padding:12px}.task-title{font-size:13px}.task-meta{font-size:11px}.action-btn-review{padding:6px 12px;font-size:12px}.timeline-item{padding:10px 0;gap:10px}.log-title{font-size:12px}.log-description{font-size:11px}.log-time{font-size:10px}}.log-date-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-primary,#e5e7eb)}.date-quick-filters{display:flex;gap:8px;align-items:center}.date-filter-btn{padding:6px 14px;border:1px solid var(--border-primary,#d1d5db);border-radius:6px;background:var(--bg-primary,#fff);color:var(--text-secondary,#6b7280);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.date-filter-btn:hover{background:var(--bg-tertiary,#f3f4f6);border-color:var(--primary-color,#3b82f6);color:var(--primary-color,#3b82f6)}.date-filter-btn.active{background:var(--primary-color,#3b82f6);border-color:var(--primary-color,#3b82f6);color:#fff}.date-range-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-label{font-size:14px;font-weight:500;color:var(--text-secondary,#6b7280);white-space:nowrap}.date-input{padding:6px 12px;border:1px solid var(--border-primary,#d1d5db);border-radius:6px;font-size:14px;color:var(--text-primary,#111827);background:var(--bg-primary,#fff);transition:border-color .3s ease}.date-input:focus{outline:none;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.date-separator{color:var(--text-secondary,#9ca3af);font-size:14px}.export-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.export-dialog{background:var(--bg-primary,#fff);border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);animation:slideUp .3s ease-out}.export-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-primary,#e5e7eb)}.export-dialog-title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary,#111827)}.export-dialog-close{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary,#6b7280);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.export-dialog-close:hover{background:var(--bg-tertiary,#f3f4f6);color:var(--text-primary,#111827)}.export-dialog-content{padding:20px 24px}.export-date-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.export-date-btn{padding:8px 16px;border:1px solid var(--border-primary,#d1d5db);border-radius:6px;background:var(--bg-primary,#fff);color:var(--text-secondary,#6b7280);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;min-width:100px}.export-date-btn:hover{background:var(--bg-tertiary,#f3f4f6);border-color:var(--primary-color,#3b82f6);color:var(--primary-color,#3b82f6)}.export-date-btn.active{background:var(--primary-color,#3b82f6);border-color:var(--primary-color,#3b82f6);color:#fff}.export-date-range{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--border-primary,#e5e7eb)}.export-date-range .date-label{margin-bottom:4px}.export-dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-primary,#e5e7eb)}.export-dialog-footer .btn-primary{background:var(--primary-color,#3b82f6);color:#fff}.export-dialog-footer .btn-primary:hover:not(:disabled){background:#2563eb}.export-dialog-footer .btn-secondary{background:var(--bg-tertiary,#f3f4f6);color:var(--text-secondary,#6b7280)}.export-dialog-footer .btn-secondary:hover{background:var(--border-primary,#e5e7eb)}.task-list-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.task-list-modal{background:#fff;border-radius:12px;width:40%!important;max-width:600px!important;min-width:400px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);animation:slideUp .3s ease-out}@media (max-width:768px){.task-list-modal{width:90%!important;min-width:auto;max-width:500px!important;max-height:85vh}}@media (max-width:480px){.task-list-modal{width:95%!important;max-width:none!important;max-height:90vh;border-radius:16px}.task-list-modal .modal-header{padding:16px}.task-list-modal .modal-title{font-size:16px}.task-list-modal .task-list{padding:12px}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.task-list-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.task-list-modal-title{margin:0;font-size:18px;font-weight:600;color:#111827}.task-list-modal-close{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.task-list-modal-close:hover{background:#f3f4f6;color:#111827}.task-list-modal-content{padding:20px 24px;overflow-y:auto;flex:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.task-list-empty{text-align:center;padding:40px 20px;color:#9ca3af}.task-list-items{display:flex;flex-direction:column;gap:12px}.task-list-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;transition:all .2s;border:1px solid #e5e7eb;border-left:4px solid}.task-list-item:hover{background:#f3f4f6;box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateX(4px)}.task-list-item.high-priority{border-left-color:#ef4444;background:linear-gradient(135deg,#fff,#fee2e2)}.task-list-item.medium-priority{border-left-color:#f59e0b;background:linear-gradient(135deg,#fff,#fef3c7)}.task-list-item.low-priority{border-left-color:#10b981;background:linear-gradient(135deg,#fff,#d1fae5)}.priority-bar{width:4px;background:currentColor;border-radius:2px;flex-shrink:0}.item-content{flex:1;min-width:0;overflow:hidden}.item-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-shrink:0}.item-title{font-size:16px;font-weight:600;color:#111827;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deadline-alert{display:flex;align-items:center;gap:4px;font-size:12px;flex-shrink:0}.deadline-alert.overdue{color:#ef4444}.deadline-alert.near{color:#f59e0b}.alert-text{font-weight:500}.item-description{margin:0 0 8px 0;font-size:14px;color:#6b7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-meta{display:flex;align-items:center;gap:12px;font-size:13px}.item-meta .priority{padding:4px 8px;border-radius:4px;font-weight:500;background:#f3f4f6;color:#374151}.item-meta .deadline{color:#6b7280}.task-list-item-number{color:#6b7280;font-weight:600;min-width:24px;flex-shrink:0}.task-list-item-name{color:#111827;line-height:1.5;flex:1}.oauth2-error-container[data-v-36c8850e]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#89a8c1,#b8d4e6);padding:20px}.error-content[data-v-36c8850e]{background:#fff;border-radius:16px;padding:48px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center;max-width:500px;width:100%}.error-icon[data-v-36c8850e]{width:80px;height:80px;margin:0 auto 24px;color:#f56565}.error-icon svg[data-v-36c8850e]{width:100%;height:100%}h2[data-v-36c8850e]{margin:0 0 16px;color:#2d3748;font-size:28px;font-weight:600}.error-message[data-v-36c8850e]{color:#4a5568;font-size:16px;margin:0 0 12px;line-height:1.6;word-break:break-word}.error-provider[data-v-36c8850e]{color:#718096;font-size:14px;margin:0 0 32px}.action-buttons[data-v-36c8850e]{display:flex;gap:12px;justify-content:center}button[data-v-36c8850e]{padding:12px 32px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-retry[data-v-36c8850e]{background:#667eea;color:#fff}.btn-retry[data-v-36c8850e]:hover{background:#5a67d8;transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.btn-login[data-v-36c8850e]{background:#e2e8f0;color:#2d3748}.btn-login[data-v-36c8850e]:hover{background:#cbd5e0;transform:translateY(-2px)}@media (max-width:768px){.error-content[data-v-36c8850e]{padding:32px 24px}h2[data-v-36c8850e]{font-size:24px}.error-message[data-v-36c8850e]{font-size:14px}.action-buttons[data-v-36c8850e]{flex-direction:column}button[data-v-36c8850e]{width:100%}}.change-email-container{display:flex;min-height:100vh;background:linear-gradient(120deg,#0f172a,#1d4ed8 40%,#0f172a);color:#111827;position:relative}.change-email-container .brand-corner{position:fixed;top:24px;left:32px;font-size:20px;font-weight:700;color:#ffffffcc;letter-spacing:4px;z-index:20}.change-email-container .change-email-left{flex:1.1;display:flex;align-items:center;justify-content:center;padding:48px;color:#fff}.change-email-container .logo-section{max-width:520px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}.change-email-container .logo-placeholder{width:64px;height:64px;border-radius:18px;background:radial-gradient(circle at 0 0,#fff,#bfdbfe 40%,#60a5fa 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 18px 45px rgba(15,23,42,.7);margin-bottom:32px;transform:translateY(16px);opacity:0;transition:all .8s cubic-bezier(.22,.61,.36,1)}.change-email-container .logo-placeholder.animated{transform:translateY(0);opacity:1}.change-email-container .logo-img{width:80px;height:80px}.change-email-container .system-title{font-size:30px;font-weight:700;line-height:1.4;margin-bottom:12px;opacity:0;transform:translateY(12px);transition:all .9s cubic-bezier(.22,.61,.36,1) .15s}.change-email-container .system-title.animated{opacity:1;transform:translateY(0)}.change-email-container .system-subtitle{font-size:14px;opacity:.9}.change-email-container .change-email-right{flex:0.9;display:flex;align-items:center;justify-content:center;padding:32px}.change-email-container .change-email-box{width:420px;background:#fff;border-radius:24px;padding:32px 32px 28px;box-shadow:0 22px 60px rgba(15,23,42,.3)}.change-email-header{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.change-email-container .back-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:none;background:rgba(15,23,42,.03);color:#4b5563;font-size:12px;cursor:pointer;transition:background .2s,color .2s,transform .1s;align-self:flex-start}.change-email-container .back-btn:hover{background:rgba(37,99,235,.08);color:#1d4ed8;transform:translateX(-1px)}.change-email-container .change-email-title{font-size:22px;font-weight:700;color:#111827}.change-email-container .change-email-subtitle{font-size:13px;color:#6b7280}.change-email-container .change-email-form{display:flex;flex-direction:column;gap:16px;margin-top:8px}.change-email-container .form-group{display:flex;flex-direction:column;gap:6px}.change-email-container .form-group label{font-size:13px;color:#374151}.change-email-container .required-asterisk{color:#ef4444;margin-left:2px}.change-email-container .change-email-form input{padding:10px 12px;border-radius:10px;border:1px solid #e5e7eb;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.change-email-container .change-email-form input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 1px rgba(37,99,235,.3)}.change-email-container .readonly-input{background-color:#f3f4f6;color:#6b7280;cursor:default}.change-email-container .code-input-group{display:flex;gap:10px}.change-email-container .code-input-group .code-input{flex:1}.change-email-container .send-code-btn{padding:0 12px;border-radius:999px;border:none;font-size:13px;white-space:nowrap;background:#2563eb;color:#fff;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s}.change-email-container .send-code-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 10px 25px rgba(37,99,235,.35);transform:translateY(-1px)}.change-email-container .send-code-btn:disabled{background:#93c5fd;cursor:not-allowed;box-shadow:none}.change-email-container .change-email-btn{margin-top:8px;width:100%;padding:11px 16px;border-radius:999px;border:none;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 14px 30px rgba(37,99,235,.45);transition:background .2s,transform .1s,box-shadow .2s}.change-email-container .change-email-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#4338ca);transform:translateY(-1px);box-shadow:0 18px 40px rgba(37,99,235,.5)}.change-email-container .change-email-btn:disabled{background:#93c5fd;cursor:not-allowed;box-shadow:none}.change-email-container .two-factor-input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;font-size:16px;font-weight:600;letter-spacing:4px;text-align:center;transition:border-color .2s,box-shadow .2s,background-color .2s}.change-email-container .two-factor-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 1px rgba(37,99,235,.3)}.change-email-container .two-factor-input::-moz-placeholder{letter-spacing:0;font-weight:400;color:#9ca3af}.change-email-container .two-factor-input::placeholder{letter-spacing:0;font-weight:400;color:#9ca3af}.change-email-container .optional-label{font-size:12px;color:#6b7280;font-weight:400;margin-left:4px}.change-email-container .form-hint{font-size:12px;color:#6b7280;margin-top:6px;margin-bottom:0;line-height:1.4}.change-email-container .success-toast{position:fixed;bottom:32px;right:32px;padding:10px 16px;background:#10b981;color:#ecfdf5;border-radius:999px;font-size:14px;box-shadow:0 12px 35px rgba(5,150,105,.45);z-index:50}@media (max-width:960px){.change-email-container{flex-direction:column}.change-email-left{flex:none;padding:32px 24px 12px}.change-email-right{flex:none;padding:12px 16px 32px}.change-email-box{width:100%;max-width:420px}}.not-found-container{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);background-size:400% 400%;animation:gradientShift 15s ease infinite;padding:var(--space-4);overflow:hidden}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.brand-corner{position:fixed;top:var(--space-5);left:var(--space-10);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-inverse);z-index:var(--z-fixed);letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.background-decoration{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.floating-shape{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);animation:float 20s ease-in-out infinite}.shape-1{width:200px;height:200px;top:10%;left:10%;animation-delay:0s}.shape-2{width:150px;height:150px;top:60%;right:15%;animation-delay:5s}.shape-3{width:100px;height:100px;bottom:20%;left:20%;animation-delay:10s}.shape-4{width:120px;height:120px;top:30%;right:30%;animation-delay:15s}@keyframes float{0%,to{transform:translate(0) rotate(0deg);opacity:.3}25%{transform:translate(30px,-30px) rotate(90deg);opacity:.5}50%{transform:translate(-20px,20px) rotate(180deg);opacity:.4}75%{transform:translate(20px,30px) rotate(270deg);opacity:.6}}.not-found-content{position:relative;z-index:1;text-align:center;max-width:800px;width:100%;padding:var(--space-8)}.error-code{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);font-family:Arial,sans-serif}.digit{font-size:8rem;font-weight:var(--font-black);color:var(--text-inverse);text-shadow:0 4px 20px rgba(0,0,0,.3);line-height:1;opacity:0;transform:translateY(-50px) scale(.5);transition:all .6s cubic-bezier(.34,1.56,.64,1)}.digit.animated{opacity:1;transform:translateY(0) scale(1)}.digit:first-child.animated{transition-delay:.1s}.digit:nth-child(2).animated{transition-delay:.2s}.digit:nth-child(3).animated{transition-delay:.3s}.error-icon{width:120px;height:120px;margin:0 auto var(--space-6);color:var(--text-inverse);opacity:0;transform:scale(0) rotate(-180deg);transition:all .6s cubic-bezier(.34,1.56,.64,1)}.error-icon.animated{opacity:1;transform:scale(1) rotate(0deg);transition-delay:.4s}.error-icon svg{width:100%;height:100%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.error-message{margin-bottom:var(--space-8);opacity:0;transform:translateY(30px);transition:all .6s ease-out}.error-message.animated{opacity:1;transform:translateY(0);transition-delay:.5s}.error-title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-inverse);margin-bottom:var(--space-4);text-shadow:0 2px 10px rgba(0,0,0,.2)}.error-description{font-size:var(--text-lg);color:hsla(0,0%,100%,.9);line-height:var(--leading-relaxed);text-shadow:0 1px 3px rgba(0,0,0,.2)}.action-buttons{display:flex;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-10);opacity:0;transform:translateY(30px);transition:all .6s ease-out}.action-buttons.animated{opacity:1;transform:translateY(0);transition-delay:.6s}.action-buttons button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-lg)}.btn-primary{background:var(--text-inverse);color:var(--primary-color)}.btn-primary:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-secondary{background:hsla(0,0%,100%,.2);color:var(--text-inverse);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3)}.btn-secondary:hover{background:hsla(0,0%,100%,.3);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-icon{width:20px;height:20px}.quick-links{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.quick-links.animated{opacity:1;transform:translateY(0);transition-delay:.7s}.quick-links-title{font-size:var(--text-base);color:hsla(0,0%,100%,.8);margin-bottom:var(--space-4);text-shadow:0 1px 2px rgba(0,0,0,.2)}.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);max-width:600px;margin:0 auto}.quick-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:hsla(0,0%,100%,.15);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);border-radius:var(--radius-lg);color:var(--text-inverse);text-decoration:none;transition:all var(--transition-normal);cursor:pointer}.quick-link:hover{background:hsla(0,0%,100%,.25);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.link-icon{width:24px;height:24px;stroke-width:2}.quick-link span{font-size:var(--text-sm);font-weight:var(--font-medium)}@media (max-width:768px){.brand-corner{top:var(--space-4);left:var(--space-4);font-size:var(--text-xl)}.not-found-content{padding:var(--space-4)}.error-code{gap:var(--space-2);margin-bottom:var(--space-6)}.digit{font-size:5rem}.error-icon{width:80px;height:80px;margin-bottom:var(--space-4)}.error-title{font-size:var(--text-2xl)}.error-description{font-size:var(--text-base)}.action-buttons{flex-direction:column;margin-bottom:var(--space-8)}.action-buttons button{width:100%;justify-content:center}.links-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.quick-link{padding:var(--space-3)}.shape-1,.shape-2,.shape-3,.shape-4{width:80px;height:80px}}@media (max-width:480px){.digit{font-size:4rem}.error-title{font-size:var(--text-xl)}.links-grid{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.not-found-container{background:linear-gradient(135deg,#1e293b,#334155 50%,#475569)}}.responsive-container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:640px){.responsive-container{max-width:640px}}@media (min-width:768px){.responsive-container{max-width:768px}}@media (min-width:1024px){.responsive-container{max-width:1024px}}@media (min-width:1280px){.responsive-container{max-width:1280px}}@media (min-width:1536px){.responsive-container{max-width:1536px}}@media (max-width:767px){.hide-mobile{display:none!important}}@media (min-width:768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width:767px){.show-mobile{display:block!important}html{font-size:14px}.responsive-title{font-size:var(--text-xl)!important}.responsive-subtitle{font-size:var(--text-base)!important}.responsive-text{font-size:var(--text-sm)!important}.responsive-padding{padding:var(--space-3)!important}.responsive-margin{margin:var(--space-3)!important}.responsive-gap{gap:var(--space-3)!important}}@media (min-width:768px){.responsive-padding{padding:var(--space-6)!important}.responsive-margin{margin:var(--space-6)!important}.responsive-gap{gap:var(--space-6)!important}}.responsive-flex{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:768px){.responsive-flex{flex-direction:row;gap:var(--space-6)}}.responsive-flex-reverse{display:flex;flex-direction:column-reverse;gap:var(--space-4)}@media (min-width:768px){.responsive-flex-reverse{flex-direction:row;gap:var(--space-6)}}.responsive-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}}@media (min-width:1280px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}.responsive-grid-2{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:768px){.responsive-grid-2{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}.responsive-grid-3{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.responsive-grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.responsive-grid-3{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}}@media (max-width:767px){.responsive-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.responsive-table table{min-width:600px}}.responsive-card{border-radius:var(--radius-lg);padding:var(--space-4);background:var(--bg-primary);box-shadow:var(--shadow-sm)}@media (min-width:768px){.responsive-card{padding:var(--space-6);border-radius:var(--radius-xl)}}@media (max-width:767px){.responsive-button{width:100%;padding:var(--space-3) var(--space-4)!important}.responsive-button-group{flex-direction:column;gap:var(--space-2)}.responsive-button-group button{width:100%}.responsive-modal{width:95vw!important;max-width:95vw!important;margin:var(--space-2)}.responsive-modal .el-dialog{width:95vw!important;margin:var(--space-2) auto!important}}@media (max-width:1023px){.responsive-sidebar{position:fixed;left:-100%;top:0;height:100vh;transition:left .3s ease;z-index:1000}.responsive-sidebar.open{left:0}.responsive-sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999}.responsive-sidebar.open~.responsive-sidebar-overlay{display:block}}@media (max-width:767px){.responsive-nav{padding:var(--space-2) var(--space-4)}.responsive-nav-menu{display:none}.responsive-nav-mobile{display:flex}}@media (min-width:768px){.responsive-nav{padding:var(--space-3) var(--space-6)}.responsive-nav-menu{display:flex}.responsive-nav-mobile{display:none}}.responsive-img{max-width:100%;height:auto;display:block}.responsive-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.responsive-video iframe,.responsive-video video{position:absolute;top:0;left:0;width:100%;height:100%}@media (max-width:767px){.touch-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.no-select-mobile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.smooth-scroll-mobile{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.responsive-form{width:100%}.responsive-form-group{margin-bottom:var(--space-4)}.responsive-form input,.responsive-form select,.responsive-form textarea{width:100%;font-size:16px}.responsive-form-row{flex-direction:column;gap:var(--space-4)}}@media (min-width:768px){.responsive-form-row{flex-direction:row;gap:var(--space-6)}}@media (max-width:767px){.w-mobile-full{width:100%!important}.max-w-mobile-full{max-width:100%!important}.auth-container{padding:var(--space-4);min-height:100vh}.auth-form{width:100%;max-width:100%;padding:var(--space-6)}.project-card{margin-bottom:var(--space-4)}.project-card-actions{flex-direction:column;gap:var(--space-2)}.profile-container{padding:var(--space-4)}.profile-header{flex-direction:column;text-align:center}.profile-avatar{margin:0 auto var(--space-4)}.knowledge-sidebar{display:none}.knowledge-sidebar.mobile-open{display:block;position:fixed;top:0;left:0;bottom:0;width:80%;max-width:300px;z-index:1000;background:var(--bg-primary);box-shadow:var(--shadow-xl)}.project-detail-layout{flex-direction:column}.project-detail-sidebar{width:100%;order:2}.project-detail-content{width:100%;order:1}.el-dialog{width:95%!important;margin:var(--space-2) auto!important}.el-dialog__body,.el-dialog__header{padding:var(--space-4)!important}.el-drawer{width:85%!important}.el-message-box{width:90%!important}.el-dropdown-menu{max-width:calc(100vw - 32px)}.el-table{font-size:var(--text-sm)}.el-table td,.el-table th{padding:var(--space-2) var(--space-3)}.el-pagination{padding:var(--space-3) 0}.el-pagination .el-pager li,.el-pagination button{min-width:32px;height:32px;line-height:32px}.el-form-item{margin-bottom:var(--space-4)}.el-form-item__label{padding-bottom:var(--space-2);line-height:1.5}.el-input__inner{font-size:16px!important}.el-select-dropdown{max-width:calc(100vw - 32px)}.el-tabs__nav{font-size:var(--text-sm)}.el-tabs__item{padding:0 var(--space-3)}}@media print{.hide-print{display:none!important}.responsive-container{max-width:100%;padding:0}}@media (max-width:767px) and (orientation:landscape){.landscape-full-height{height:100vh;overflow-y:auto}}@media (min-resolution:192dpi){.responsive-img{image-rendering:-webkit-optimize-contrast}}.btn-error[data-v-522651d6],.btn-full[data-v-522651d6],.btn-ghost[data-v-522651d6],.btn-lg[data-v-522651d6],.btn-loading[data-v-522651d6],.btn-md[data-v-522651d6],.btn-primary[data-v-522651d6],.btn-secondary[data-v-522651d6],.btn-sm[data-v-522651d6],.btn-success[data-v-522651d6],.btn-warning[data-v-522651d6],.btn-xl[data-v-522651d6],.btn[data-v-522651d6]{@apply cursor-wait}.animate-spin[data-v-522651d6]{animation:spin-522651d6 1s linear infinite}@keyframes spin-522651d6{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn[data-v-522651d6]:hover:not(:disabled){transform:translateY(-1px)}.btn[data-v-522651d6]:active:not(:disabled){transform:translateY(0)}.card-body[data-v-29787730],.card-clickable[data-v-29787730],.card-clickable[data-v-29787730]:hover,.card-default[data-v-29787730],.card-elevated[data-v-29787730],.card-filled[data-v-29787730],.card-footer[data-v-29787730],.card-header[data-v-29787730],.card-hover[data-v-29787730]:hover,.card-media[data-v-29787730],.card-outlined[data-v-29787730],.card-padding-lg[data-v-29787730],.card-padding-md[data-v-29787730],.card-padding-none[data-v-29787730],.card-padding-sm[data-v-29787730],.card-padding-xl[data-v-29787730],.card[data-v-29787730]{@apply px-4 py-3 border-t border-gray-200 bg-gray-50}@media (max-width:640px){.card-padding-lg[data-v-29787730],.card-padding-xl[data-v-29787730]{@apply p-6}}.input-field[data-v-fe0570ce],.input-field[data-v-fe0570ce]:disabled,.input-group[data-v-fe0570ce],.input-label[data-v-fe0570ce],.input-wrapper.input-disabled[data-v-fe0570ce],.input-wrapper.input-error[data-v-fe0570ce],.input-wrapper[data-v-fe0570ce]{@apply text-gray-500 cursor-not-allowed}.input-field[data-v-fe0570ce]:-moz-read-only{@apply cursor-default}.input-field[data-v-fe0570ce]:read-only{@apply cursor-default}.input-clear[data-v-fe0570ce],.input-help[data-v-fe0570ce],.input-prefix[data-v-fe0570ce],.input-suffix[data-v-fe0570ce],.input-wrapper.size-lg .input-field[data-v-fe0570ce],.input-wrapper.size-sm .input-field[data-v-fe0570ce]{@apply px-4 py-3 text-base}@media (max-width:640px){.input-wrapper.size-lg .input-field[data-v-fe0570ce]{@apply px-3 py-2 text-sm}}