/* Dock 用户信息面板样式 */ .user-popover { position: fixed; z-index: 10001; width: 260px; background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(12px); border: 1px solid rgba(99, 102, 241, 0.2); border-radius: 12px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6); opacity: 0; visibility: hidden; transform: translateY(10px) scale(0.98); transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; color: #e2e8f0; font-family: 'Inter', sans-serif; } .user-popover.active { opacity: 1; visibility: visible; transform: translateY(0) scale(1); pointer-events: auto; } .popover-header { display: flex; align-items: center; gap: 12px; padding: 16px; border-bottom: 1px solid rgba(99, 102, 241, 0.1); } .popover-avatar { width: 44px; height: 44px; border-radius: 10px; background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; color: white; flex-shrink: 0; } .popover-info { flex: 1; min-width: 0; } .popover-name { font-size: 14px; font-weight: 600; color: #f1f5f9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .popover-role { font-size: 11px; color: #94a3b8; margin-top: 2px; text-transform: uppercase; letter-spacing: 0.5px; background: rgba(255, 255, 255, 0.05); padding: 2px 6px; border-radius: 4px; display: inline-block; } .popover-menu { padding: 8px; border-bottom: 1px solid rgba(99, 102, 241, 0.1); } .menu-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; color: #e2e8f0; text-decoration: none; transition: all 0.2s; background: transparent; border: none; cursor: pointer; width: 100%; } .menu-item:hover { background: rgba(99, 102, 241, 0.15); color: #f1f5f9; } .menu-item svg { width: 16px; height: 16px; flex-shrink: 0; color: #94a3b8; } .menu-item:hover svg { color: #c7d2fe; } .menu-item span { flex: 1; font-size: 13px; font-weight: 500; } .menu-badge { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; background: rgba(99, 102, 241, 0.3); color: #c7d2fe; min-width: 24px; text-align: center; } .popover-footer { padding: 12px; display: flex; flex-direction: column; gap: 8px; } .popover-btn { width: 100%; padding: 8px 12px; border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer; border: none; transition: all 0.2s; display: flex; align-items: center; justify-content: center; gap: 6px; } .btn-logout { background: rgba(99, 102, 241, 0.2); color: #c7d2fe; border: 1px solid rgba(99, 102, 241, 0.3); } .btn-logout:hover { background: rgba(99, 102, 241, 0.3); color: white; } .btn-danger { background: transparent; color: #94a3b8; border: 1px solid rgba(100, 116, 139, 0.2); } .btn-danger:hover { background: rgba(239, 68, 68, 0.1); color: #fca5a5; border-color: rgba(239, 68, 68, 0.3); } .btn-danger svg { width: 14px; height: 14px; }